C ++ freopen () - C ++ Standardbibliotek

Freopen () -funktionen i C ++ forsøger at åbne en ny fil med en filstrøm, der er knyttet til en anden åbnet fil.

Funktionen freopen () er defineret i headerfilen.

freopen () prototype

 FIL * freopen (const char * filnavn, const char * mode, FILE * stream);

Freopen-funktionen forsøger først at lukke den fil, der åbnes ved hjælp af stream. Når filen er lukket, forsøger den at åbne det filnavn, der er angivet af argumentets filnavn (hvis det ikke er nul) i den tilstand, der er angivet af argumenttilstanden. Endelig knytter den filen til filstrømmen.

Hvis filnavnet er en nul pointer, forsøger freopen () -funktionen at genåbne den fil, der allerede er tilknyttet stream.

freopen () Parametre

  • filnavn: Ny fil, der skal åbnes.
  • tilstand: Tilstand at åbne filen med. Forskellige typer filadgangstilstand er som følger:
Forskellige former for filoperation
Filadgangstilstand Fortolkning Hvis der findes en fil Hvis filen ikke findes
"r" Åbner filen i læsetilstand Læs fra start Fejl
"w" Åbner filen i skrivetilstand Slet alt indholdet Opret ny fil
"en" Åbner filen i tilføjelsestilstand Begynd at skrive fra slutningen Opret ny fil
"r +" Åbner filen i læse- og skrivetilstand Læs fra start Fejl
"w +" Åbner filen i læse- og skrivetilstand Slet alt indholdet Opret ny fil
"a +" Åbner filen i læse- og skrivetilstand Begynd at skrive fra slutningen Opret ny fil
  • stream: Filstrømmen, som filnavnet knyttes til.

freopen () Returværdi

Funktionen freopen () returnerer:

  • stream på succes.
  • NULL ved fejl.

Eksempel: Hvordan fungerer freopen () -funktionen?

 #include #include int main() ( FILE* fp = fopen("test1.txt","w"); fprintf(fp,"%s","This is written to test1.txt"); if (freopen("test2.txt","w",fp)) fprintf(fp,"%s","This is written to test2.txt"); else ( printf("freopen failed"); exit(1); ) fclose(fp); return 0; )

Når du kører programmet:

 Følgende skrives til test1.txt: Dette skrives til test1.txt Følgende skrives til test2.txt: Dette skrives til test2.txt

Interessante artikler...