logo

C fprintf() et fscanf()


Écriture du fichier : fonction fprintf()

La fonction fprintf() est utilisée pour écrire un ensemble de caractères dans un fichier. Il envoie une sortie formatée vers un flux.

Syntaxe:

 int fprintf(FILE *stream, const char *format [, argument, ...]) 

Exemple:

 #include main(){ FILE *fp; fp = fopen('file.txt', 'w');//opening file fprintf(fp, 'Hello file by fprintf...
');//writing data into file fclose(fp);//closing file } 

Lecture du fichier : fonction fscanf()

La fonction fscanf() est utilisée pour lire un ensemble de caractères à partir d'un fichier. Il lit un mot du fichier et renvoie EOF à la fin du fichier.

Syntaxe:

 int fscanf(FILE *stream, const char *format [, argument, ...]) 

Exemple:

 #include main(){ FILE *fp; char buff[255];//creating char array to store data of file fp = fopen('file.txt', 'r'); while(fscanf(fp, '%s', buff)!=EOF){ printf('%s ', buff ); } fclose(fp); } 

Sortir:

 Hello file by fprintf... 

Exemple de fichier C : stockage des informations sur les employés

Voyons un exemple de gestion de fichiers pour stocker les informations sur les employés telles que saisies par l'utilisateur depuis la console. Nous allons stocker l'identifiant, le nom et le salaire de l'employé.

 #include void main() { FILE *fptr; int id; char name[30]; float salary; fptr = fopen('emp.txt', 'w+');/* open for writing */ if (fptr == NULL) { printf('File does not exists 
'); return; } printf('Enter the id
'); scanf('%d', &id); fprintf(fptr, 'Id= %d
', id); printf('Enter the name 
'); scanf('%s', name); fprintf(fptr, 'Name= %s
', name); printf('Enter the salary
'); scanf('%f', &salary); fprintf(fptr, 'Salary= %.2f
', salary); fclose(fptr); }

Sortir:

 Enter the id 1 Enter the name sonoo Enter the salary 120000 

Ouvrez maintenant le fichier du répertoire actuel. Pour le système d'exploitation Windows, accédez au répertoire TCin, vous verrez le fichier emp.txt. Il contiendra les informations suivantes.

emp.txt

 Id= 1 Name= sonoo Salary= 120000