Example: rewind

This example creates a log file and writes the following to it:

  • the string "Vuser"

  • the integer "Vuser ID"

the time, as returned by the time function.

To read these values back again, the file cursor is moved to the beginning of the file, using rewind.

#include <time.h>
#include <stdio.h>
        #ifdef unix
            char *filename = "/tmp/logfile.txt";
        #else
            char *filename = "c:\\logfile.txt";
        #endif
    FILE* file, thetime;
    int id, id2;
    time_t t;
    char s[32];
    // Create a new file
    if ((file = fopen(filename, "w+" )) == NULL) {
        lr_output_message ("Unable to create %s", filename);
        return -1;
    }
    // Write the Vuser ID and time 
    lr_whoami (&id, NULL, NULL);
    fprintf(file, "Vuser %d %ld", id, time(&t));
    // Now read what we've just written. Rewind to start of file
    rewind(file);
    fscanf(file, "%s", &s);
    fscanf(file, "%d", &id2);
    fscanf(file, "%ld", &thetime);
    lr_output_message ("%s %d %ld", s, id2, thetime);
    fclose(file);
Example: Output: 
Vuser -1 1020675497