C ++ freopen () - štandardná knižnica C ++

Funkcia freopen () v C ++ sa pokúsi otvoriť nový súbor s prúdom súboru, ktorý je spojený s iným otvoreným súborom.

Funkcia freopen () je definovaná v hlavičkovom súbore.

prototyp freopen ()

 FILE * freopen (const char * názov súboru, const char * režim, FILE * stream);

Funkcia freopen sa najskôr pokúsi zavrieť súbor otvorený pomocou streamu. Po uzavretí súboru sa pokúsi otvoriť názov súboru určený argumentom názov súboru (ak nemá hodnotu null) v režime určenom režimom argumentov. Nakoniec priradí súbor k toku prúdu súborov.

Ak je názov súboru nulový ukazovateľ, funkcia freopen () sa pokúsi znova otvoriť súbor, ktorý je už priradený k prúdu.

parametre freopen ()

  • názov súboru: Nový súbor na otvorenie.
  • režim: Režim na otvorenie súboru s. Medzi rôzne typy režimu prístupu k súborom patria:
Rôzne režimy práce so súbormi
Režim prístupu k súborom Výklad Ak súbor existuje Ak súbor neexistuje
„r“ Otvorí súbor v režime čítania Čítajte od začiatku Chyba
„w“ Otvorí súbor v režime zápisu Vymažte všetok obsah Vytvoriť nový súbor
„a“ Otvorí súbor v režime pridania Začnite písať od konca Vytvoriť nový súbor
„r +“ Otvorí súbor v režime čítania a zápisu Čítajte od začiatku Chyba
„w +“ Otvorí súbor v režime čítania a zápisu Vymažte všetok obsah Vytvoriť nový súbor
„a +“ Otvorí súbor v režime čítania a zápisu Začnite písať od konca Vytvoriť nový súbor
  • stream: Stream súborov, ku ktorému sa má priradiť názov súboru.

freopen () Návratová hodnota

Vráti funkcia freopen ():

  • prúd na úspech.
  • NULL pri zlyhaní.

Príklad: Ako funguje funkcia 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; )

Po spustení programu:

 Nasledujúce sa zapíše do súboru test1.txt: Toto sa zapíše do súboru test1.txt Nasledujúce sa zapíše do súboru test2.txt: Toto sa zapíše do súboru test2.txt

Zaujímavé články...