Fonction de bibliothèque C - fopen ()

La description

La fonction de bibliothèque C FILE *fopen(const char *filename, const char *mode) ouvre le filename pointé, par nom de fichier en utilisant le mode.

Déclaration

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

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

Paramètres

  • filename - Il s'agit de la chaîne C contenant le nom du fichier à ouvrir.

  • mode- C'est la chaîne C contenant un mode d'accès aux fichiers. Il comprend -

N ° Sr. Mode et description
1

"r"

Ouvre un fichier en lecture. Le fichier doit exister.

2

"w"

Crée un fichier vide pour l'écriture. Si un fichier du même nom existe déjà, son contenu est effacé et le fichier est considéré comme un nouveau fichier vide.

3

"a"

Ajoute à un fichier. Écriture des opérations, ajoutez des données à la fin du fichier. Le fichier est créé s'il n'existe pas.

4

"r+"

Ouvre un fichier pour mettre à jour la lecture et l'écriture. Le fichier doit exister.

5

"w+"

Crée un fichier vide pour la lecture et l'écriture.

6

"a+"

Ouvre un fichier pour lecture et ajout.

Valeur de retour

Cette fonction renvoie un pointeur FILE. Sinon, NULL est renvoyé et la variable globale errno est définie pour indiquer l'erreur.

Exemple

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

#include <stdio.h>
#include <stdlib.h>

int main () {
   FILE * fp;

   fp = fopen ("file.txt", "w+");
   fprintf(fp, "%s %s %s %d", "We", "are", "in", 2012);
   
   fclose(fp);
   
   return(0);
}

Laissez-nous compiler et exécuter le programme ci-dessus qui créera un fichier file.txt avec le contenu suivant -

We are in 2012

Voyons maintenant le contenu du fichier ci-dessus en utilisant le programme suivant -

#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);
}

Compilons et exécutons le programme ci-dessus pour produire le résultat suivant -

We are in 2012