C ++ freopen () - Standardna knjižnica C ++

Funkcija freopen () v C ++ poskuša odpreti novo datoteko s tokom datotek, ki je povezan z drugo odprto datoteko.

Funkcija freopen () je definirana v datoteki glave.

prototip freopen ()

 FILE * freopen (const char * ime datoteke, način const char *, tok FILE *);

Funkcija freopen najprej poskuša zapreti datoteko, odprto s pomočjo toka. Ko je datoteka zaprta, poskuša odpreti ime datoteke, določeno z argumentom ime datoteke (če ni nič), v načinu, ki ga določa način argumenta. Končno datoteko poveže s tokom toka datotek.

Če je ime datoteke ničelni kazalec, funkcija freopen () poskuša znova odpreti datoteko, ki je že povezana s tokom.

parametri freopen ()

  • ime datoteke: Nova datoteka, ki jo želite odpreti.
  • način: način, s katerim želite odpreti datoteko. Različne vrste načina dostopa do datotek so naslednje:
Različni načini delovanja datotek
Način dostopa do datotek Tolmačenje Če datoteka obstaja Če datoteka ne obstaja
"r" Datoteko odpre v načinu branja Preberite od začetka Napaka
"w" Datoteko odpre v načinu pisanja Izbriši vso vsebino Ustvari novo datoteko
"a" Datoteko odpre v načinu dodajanja Začnite pisati od konca Ustvari novo datoteko
"r +" Datoteko odpre v načinu branja in pisanja Preberite od začetka Napaka
"w +" Datoteko odpre v načinu branja in pisanja Izbriši vso vsebino Ustvari novo datoteko
"a +" Datoteko odpre v načinu branja in pisanja Začnite pisati od konca Ustvari novo datoteko
  • tok: tok datoteke, ki mu želite pridružiti ime datoteke.

freopen () Vrnjena vrednost

Funkcija freopen () vrne:

  • tok uspeha.
  • NULL ob okvari.

Primer: Kako deluje funkcija freopen ()?

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

Ko zaženete program:

 V test1.txt bo zapisano naslednje: To bo zapisano v test1.txt V test2.txt bo zapisano naslednje: To bo zapisano v test2.txt

Zanimive Članki...