Leçon 48 : E/S de fichiers Partie 2 : Ouverture et fermeture de fichiers
Ouvrir un fichier : fopen()
La fonction fopen() tente d'ouvrir un fichier et de lui associer un flux. Elle renvoie un pointeur FILE * en cas de succès, ou NULL en cas d'échec.
Syntaxe : FILE *fopen(const char *nom_fichier, const char *mode);
Exemple : Ouvrir un fichier en écriture
c #include <stdio.h>
int main() { FILE *fp; char nom_fichier[] = "sortie.txt";
// Tentative d'ouverture en mode écriture ('w')
fp = fopen(nom_fichier, "w");
if (fp == NULL) {
perror("Erreur lors de l'ouverture du fichier"); // Affiche le message d'erreur système
return 1; // Indique une erreur
}
printf("Fichier '%s' ouvert avec succès.\n", nom_fichier);
// ... opérations sur le fichier ...
return 0;
}
Fermer un fichier : fclose()
La fermeture d'un fichier déconnecte le flux du fichier, garantissant que toutes les données en tampon sont écrites sur le disque et libérant la mémoire de la structure FILE. C'est essentiel pour éviter la perte de données.
Syntaxe : int fclose(FILE *flux); (Renvoie 0 en cas de succès, EOF en cas d'échec).
c if (fp != NULL) { if (fclose(fp) == 0) { printf("Fichier fermé avec succès.\n"); } else { printf("Erreur lors de la fermeture du fichier.\n"); } }
Règle : Vérifiez toujours si le pointeur est NULL après fopen() et appelez toujours fclose() une fois le travail terminé.