C.2 Écriture et lecture formatée d'un flot
Les fonctions d'écriture et de lecture formatée de et dans un flot
sont similaires aux fonctions scanf et
printf.
C.2.1 Écriture : fprintf()
La fonction fprintf permet d'écrire des données dans un
fichier. Sa syntaxe est :
int fprintf(FILE *stream, const char *format, arg1, arg2, ...);
où FILE *stream est le flot de données retourné par
fopen. Les spécifications de format sont identiques à
celle de la fonction printf.
Exercice C.0 --- Utilisation de fprintf.
Construire un programme qui ouvre un nouveau fichier en écriture
et qui le remplit avec les chaînes de caractères
représentant les nombres premiers inférieurs à 1000.
Remarquez que le fichier de stockage contient bien des chaînes
de caractères et pas des octets codant des entiers.
C.2.2 Lecture : fscanf()
La fonction fscanf permet de lire des données dans un
fichier. Son utilisation et sa syntaxe sont identiques à celles de
scanf :
int fscanf(FILE *stream, const char *format, arg1, arg2,...);
où FILE *stream est le flot de données retourné par
fopen. Les spécifications de format sont les mêmes que
celles de la fonction scanf.
Exercice C.1 --- Lecture d'un fichier.
Après avoir sauvegardé des nombres premiers dans un fichier, on
se propose de relire se fichier et d'afficher les nombres qu'il
contient. Remarquez que le problème de fin de fichier se pose lors
de la lecture. Pour savoir quand le fichier est terminé, utilisez
la fonction feof.
Pour tout commentaire : Alexandre Sedoglavic.