Leçon 49 : E/S de fichiers Partie 3 : E/S de caractères (fputc, fgetc)
Ces fonctions sont utilisées pour lire ou écrire un seul caractère dans un flux de fichier.
Écrire un caractère : fputc()
Écrit un caractère unique dans le flux de fichier spécifié.
Syntaxe : int fputc(int caractere, FILE *flux);
c FILE *fp = fopen("donnees.txt", "w");
if (fp != NULL) { fputc('A', fp); fputc('B', fp); fputc('\n', fp); fclose(fp); } // 'donnees.txt' contient maintenant : A // B
Lire un caractère : fgetc()
Lit le caractère suivant dans le flux de fichier spécifié. Elle renvoie le caractère lu, ou EOF (End Of File) si la fin du fichier est atteinte ou si une erreur survient.
c FILE *fp = fopen("donnees.txt", "r"); int ch; // Utilisez int pour pouvoir contenir EOF
if (fp != NULL) { while ((ch = fgetc(fp)) != EOF) { printf("%c", (char)ch); // Conversion en char pour l'affichage } fclose(fp); }
Copier des fichiers (Exemple pratique)
En combinant fgetc et fputc, nous pouvons créer une fonction qui copie le contenu d'un fichier vers un autre, caractère par caractère.