Freopen () -funksjonen i C ++ prøver å åpne en ny fil med en filstrøm som er tilknyttet en annen åpnet fil.
Freopen () -funksjonen er definert i topptekstfilen.
freopen () prototype
FIL * freopen (const char * filnavn, con char char * modus, FILE * stream);
Freopen-funksjonen prøver først å lukke filen som åpnes ved hjelp av stream. Etter at filen er lukket, prøver den å åpne filnavnet som er angitt av argumentets filnavn (hvis det ikke er null) i modusen som er angitt av argumentmodusen. Til slutt knytter den filen til filstrømmen.
Hvis filnavnet er en nullpeker, prøver freopen () -funksjonen å åpne filen som allerede er tilknyttet stream.
freopen () Parametere
- filnavn: Ny fil som skal åpnes.
- modus: Mode å åpne filen med. Ulike typer filtilgangsmodus er som følger:
Filtilgangsmodus | Tolkning | Hvis filen eksisterer | Hvis filen ikke eksisterer |
---|---|---|---|
"r" | Åpner filen i lesemodus | Les fra start | Feil |
"w" | Åpner filen i skrivemodus | Slett alt innholdet | Opprett ny fil |
"en" | Åpner filen i tilleggsmodus | Begynn å skrive fra slutten | Opprett ny fil |
"r +" | Åpner filen i lese- og skrivemodus | Les fra start | Feil |
"w +" | Åpner filen i lese- og skrivemodus | Slett alt innholdet | Opprett ny fil |
"a +" | Åpner filen i lese- og skrivemodus | Begynn å skrive fra slutten | Opprett ny fil |
- stream: Filstrømmen filnavnet skal knyttes til.
freopen () Returverdi
Funksjonen freopen () returnerer:
- strøm på suksess.
- NULL på feil.
Eksempel: Hvordan fungerer freopen () -funksjonen?
#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 kjører programmet:
Følgende blir skrevet til test1.txt: Dette skrives til test1.txt Følgende blir skrevet til test2.txt: Dette skrives til test2.txt