Latest web development tutorials

fonctions de la bibliothèque C - freopen ()

C bibliothèque standard - <stdio.h> C bibliothèque standard - <stdio.h>

description

C fonctions de bibliothèqueFILE * freopen (const char * filename , const mode * char, FILE * stream) à un nouveau fluxd'écoulementde nom de fichierdu nom de fichier associé à l'ensemble donné d'ouverture, tout en fermant le flux des anciens fichiers.

déclaration

Voici fReopen () la déclaration de fonction.

FILE *freopen(const char *filename, const char *mode, FILE *stream)

Paramètres

  • filename - Ceci est une chaîne C contenant le nom du fichier que vous souhaitez ouvrir.
  • Mode - Ceci est une chaîne C contenant le mode d'accès aux fichiers, le mode est le suivant:
模式描述
"r" 打开一个用于读取的文件。该文件必须存在。
"w" 创建一个用于写入的空文件。如果文件名称与已存在的文件相同,则会删除已有文件的内容,文件被视为一个新的空文件。
"a" 追加到一个文件。写操作向文件末尾追加数据。如果文件不存在,则创建文件。
"r+" 打开一个用于更新的文件,可读取也可写入。该文件必须存在。
"w+" 创建一个用于读写的空文件。
"a+" 打开一个用于读取和追加的文件。
  • flux - Ceci est un pointeur sur FILE pointeur vers un objet, l'identificateur d'objet FILE doit être ré-ouvrir le flux.

Valeur de retour

Si le fichier est ouvert avec succès, la fonction renvoie un pointeur sur le flux d'identificateur d'objet. Sinon, elle renvoie un pointeur NULL.

Exemples

L'exemple suivant montre freopen () est utilisée.

#include <stdio.h>

int main ()
{
   FILE *fp;

   printf("该文本重定向到 stdout\n");

   fp = freopen("file.txt", "w+", stdout);

   printf("该文本重定向到 file.txt\n");

   fclose(fp);
   
   return(0);
}

Nous allons compiler et exécuter le programme ci-dessus, qui va envoyer les lignes suivantes à la sortie standard STDOUT, parce qu'au début, nous ne tournons pas sur la sortie standard:

该文本重定向到 stdout

Après avoir appeléfreopen (), il sera associé au fichier file.txtsortie STDOUTstandard,que nous serons dans ce qui est écrit est écrit sur la sortie standard STDOUT file.txt, vous aurez le fichier suivant file.txt contenu.

该文本重定向到 file.txt

Maintenant, nous allons utiliser la procédure suivante 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);
}

C bibliothèque standard - <stdio.h> C bibliothèque standard - <stdio.h>