Les fonctions FSCANF et FPRINTF




/* The fscanf and fprintf functions
We know how to use scanf() function to take input and printf() function to print the output.

In a similar way, we use the fscanf() function to read data from the file and fprintf() function to write data in the file.

Syntax of fscanf function:

fscanf(fptr, "control string", list_of_var);
Where, fptr is a file pointer. The control string contains the input specification like %d for integer or %c for character. list_of_var is the list of variables.

Syntax of fprintf function:

fprintf(fptr, "control string", list_of_var);
Write a program in C to read and write student name, id and score in a file
We will create a student file for this program.

We will use the fprintf() function to write the data in the file and then using the fscanf() function to read the data from the file.*/
#include <stdio.h>

int main(void) {
  // creating a FILE variable
  FILE *fptr;
  
  // integer variable
  int id, score;
  int i, s;
  
  // character variable
  char name[255];
  char n[255];
  
  // open the file in write mode
  fptr = fopen("student", "w");
  
  if (fptr != NULL) {
    printf("File created successfully!\n");
  }
  else {
    printf("Failed to create the file.\n");
    // exit status for OS that an error occured
    return -1;
  }
  
  // get student detail
  printf("Enter student name: ");
  gets(name);
  printf("Enter student ID: ");
  scanf("%d", &id);
  printf("Enter student score: ");
  scanf("%d", &score);
  
  // write data in file
  fprintf(fptr, "%d %d %s", id, score, name);
  
  // close connection
  fclose(fptr);
  
  // open file for reading
  fptr = fopen("student", "r");
  
  // display detail
  printf("\nStudent Details:\n");
  fscanf(fptr, "%d %d %[^\n]s", &i, &s, n);
  printf("ID: %d\n", i);
  printf("Name: %s\n", n);
  printf("Score: %d\n", s);
  
  printf("\nEnd of file.\n");
  
  // close connection
  fclose(fptr);
  
  return 0;
}
Fair Fish