Fonctions de la bibliothèque C -fopen()

Bibliothèque standard C - <stdio.h>

Description

Fonctions de la bibliothèque CFILE *fopen(const char *filename, const char *mode)en utilisant le mode donnémodeOuvrirfilenamele fichier pointé.

Déclaration

Voici la déclaration de la fonction fopen().

FILE *fopen(const char *filename, const char *mode)

Paramètre

  • filename-- Une chaîne représentant le nom du fichier à ouvrir.
  • mode-- Une chaîne représentant le mode d'accès au fichier, qui peut être l'une des valeurs du tableau suivant :
ModeDescription
"r" Ouvre un fichier en lecture. Le fichier doit exister.
"w" Crée un fichier vide pour l'écriture. Si filename est identique à un fichier existant, le contenu du fichier existant est supprimé, et le fichier est traité comme un nouveau fichier vide.
"a" Ajoute à un fichier. Les opérations d'écriture ajoutent des données à la fin du fichier. Si le fichier n'existe pas, il est créé.
"r+" Ouvrir un fichier pour mise à jour, en lecture et en écriture. Le fichier doit exister.
"w+" Créer un fichier vide pour la lecture et l'écriture.
"a+" Ouvre un fichier pour la lecture et l'ajout.

Valeur de retour

La fonction renvoie un pointeur FILE. Sinon, elle renvoie NULL et définit la variable globale errno pour indiquer l'erreur.

Exemple

L'exemple suivant illustre l'utilisation de la fonction fopen().

Exemple

#include <stdio.h> #include <stdlib.h> int main() { FILE * fp; fp = fopen ("file.txt", "w+"); fprintf(fp, "%s %s %s %d", "Nous", "sommes", "dans", 2014); fclose(fp); return(0); }

Compilons et exécutons le programme ci-dessus, qui créera un fichier avec le contenu suivant.file.txt:

We are in 2014

Maintenant, utilisons le programme suivant pour afficher le contenu du fichier ci-dessus :

#include <stdio.h>

int main ()
{
   FILE *fp;
   int c;
  
   fp = fopen("file.txt","r");
   while(1)
   {
      c = fgetc(fp);
      if( feof(fp) )
      { 
          break ;
      }
      printf("%c", c);
   }
   fclose(fp);
   return(0);
}

Bibliothèque standard C - <stdio.h>

autres extensions