Syntaxe :
#include <cstdio> FILE *fopen( const char *nom, const char *mode );
La fonction fopen()
ouvre un fichier désigné par nom
et renvoie un flux associé à ce fichier.
mode
est utilisé pour déterminer le mode d'utilisation du flux (lecture, écriture, etc).
En cas d'errreur, fopen()
renvoie NULL
.
Mode | Signification | Si le fichier existe | Si le fichier n'existe pas |
---|---|---|---|
“r” | Ouvre un fichier en lecture | Lecture depuis le début du fichier | Erreur |
“w” | Crée un ficher pour l'écriture de données | Contenu du fichier perdu | Création du fichier |
“a” | Ajout en fin de fichier | Écriture en fin de fichier | Création du fichier |
“r+” | Ouvre un fichier en lecture/écriture | Lecture depuis le début du fichier | Erreur |
“w+” | Crée un fichier pour l'écriture/lecture de données | Contenu du fichier perdu | Création du fichier |
“a+” | Ouvre un fichier en lecture/écriture | Écriture en fin de fichier | Création du fichier |
Vous pouvez également ajouter le “flag” “b”
pour ouvrir le fichier en mode binaire sur les OS
basés sur Windows. Ce “flag” est ignoré sur les systèmes POSIX (incluant Linux), il est donc
préférable de spécifier ce “flag” lorsqu'on travaille avec des fichiers binaires.
Si le mode
contient le caractère a
, les données seront écrites à la fin du fichier quelque
soit la position du pointer sur le fichier.
Voici un exemple d'utilisation :
int c; FILE *entree = fopen( "fichier", "r" ); c = getc(entree );
Sujets connexes : fclose, fflush, fgetc, fputc, fread, freopen, fseek, fwrite, getc, getchar, setbuf