Example: fscanf

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.

Using fscanf, it then reads these values back into separate variables.

    #include <stdio.h>
    #include <time.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