Latest web development tutorials

funzioni di libreria C - freopen ()

C libreria standard - <stdio.h> C libreria standard - <stdio.h>

descrizione

C funzioni di libreriaFILE * freopen (const char * filename , char modalità const *, FILE * stream) con un nuovo nome file di flussoflussonome del fileassociato con il set data di apertura, mentre la chiusura del flusso di vecchi file.

dichiarazione

Qui è freopen () la dichiarazione della funzione.

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

parametri

  • il nome del file - Questa è una stringa C che contiene il nome del file che si desidera aprire.
  • Modo - Questa è una stringa C contenente la modalità di accesso file, la modalità è la seguente:
模式描述
"r" 打开一个用于读取的文件。该文件必须存在。
"w" 创建一个用于写入的空文件。如果文件名称与已存在的文件相同,则会删除已有文件的内容,文件被视为一个新的空文件。
"a" 追加到一个文件。写操作向文件末尾追加数据。如果文件不存在,则创建文件。
"r+" 打开一个用于更新的文件,可读取也可写入。该文件必须存在。
"w+" 创建一个用于读写的空文件。
"a+" 打开一个用于读取和追加的文件。
  • flusso - Questo è un puntatore a FILE puntatore ad un oggetto, il file oggetto identificatore è da riaprire il flusso.

Valore di ritorno

Se il file viene aperto con successo, la funzione restituisce un puntatore al flusso di identificatore di oggetto. In caso contrario, restituisce un puntatore nullo.

Esempi

L'esempio seguente mostra freopen () viene utilizzata la funzione.

#include <stdio.h>

int main ()
{
   FILE *fp;

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

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

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

   fclose(fp);
   
   return(0);
}

Facciamo compilare ed eseguire il programma di cui sopra, che invierà le seguenti righe sullo standard output STDOUT, perché in un primo momento non si accende standard output:

该文本重定向到 stdout

Dopo aver chiamatofreopen (), esso sarà associato al file file.txtuscita STDOUT diserie,se saremo in ciò che è scritto è scritto per lo standard output STDOUT file.txt, si avrà il seguente file file.txt contenuti.

该文本重定向到 file.txt

Ora usiamo la seguente procedura per visualizzare il contenuto del file di cui sopra:

#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 libreria standard - <stdio.h> C libreria standard - <stdio.h>