C ++ freopen () - C ++ standartinė biblioteka

C ++ funkcija freopen () bando atidaryti naują failą su failų srautu, susietu su kitu atidarytu failu.

Funkcija freopen () yra apibrėžta antraštės faile.

freopen () prototipas

 FILE * freopen (konst. Char * failo vardas, const char * režimas, FILE * srautas);

„Freopen“ funkcija pirmiausia bando uždaryti failą, atidarytą naudojant srautą. Uždaręs failą, jis bando atidaryti failo pavadinimą, nurodytą argumento failo pavadinimu (jei jis nėra nulinis) argumento režimo nurodytu režimu. Galiausiai failą susieja su failų srautu.

Jei failo vardas yra nulinis rodyklė, funkcija „freopen“ () bando iš naujo atidaryti failą, kuris jau susietas su srautu.

freopen () Parametrai

  • failo vardas: atidaromas naujas failas.
  • mode: režimas, kuriuo norite atidaryti failą. Skirtingi failų prieigos režimo tipai yra šie:
Skirtingi failų veikimo režimai
Failų prieigos režimas Interpretacija Jei failas yra Jei failo nėra
„r“ Atidaro failą skaitymo režimu Skaitykite nuo pat pradžių Klaida
„w“ Atidaro failą rašymo režimu Ištrinkite visą turinį Sukurti naują failą
„a“ Atidaro failą pridėjimo režimu Pradėkite rašyti nuo pabaigos Sukurti naują failą
„r +“ Atidaro failą skaitymo ir rašymo režimu Skaitykite nuo pat pradžių Klaida
„w +“ Atidaro failą skaitymo ir rašymo režimu Ištrinkite visą turinį Sukurti naują failą
„a +“ Atidaro failą skaitymo ir rašymo režimu Pradėkite rašyti nuo pabaigos Sukurti naują failą
  • srautas: failų srautas, su kuriuo norite susieti failo pavadinimą.

freopen () Grąžinimo vertė

Funkcija „freopen“ () grąžina:

  • srautas į sėkmę.
  • NULL dėl nesėkmės.

Pavyzdys: Kaip veikia freopen () funkcija?

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

Kai paleisite programą:

 Tai bus parašyta į test1.txt: Tai parašyta į test1.txt Toliau bus parašyta į test2.txt: Tai parašyta į test2.txt

Įdomios straipsniai...