Example: fseek

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 fseek.

    #include <stdio.h>
    #include <time.h>
    #ifdef unix
        char * filename = "/tmp/logfile.txt";
        char * filename = "c:\\logfile.txt";
    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
    fseek(file, 0, 0); // 0 is SEEK_SET
    fscanf(file, "%s", &s);
    fscanf(file, "%d", &id2);
    fscanf(file, "%ld", &thetime);
    lr_output_message ("%s %d %ld", s, id2, thetime);
Example: Output: 
Vuser -1 1020675497