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:
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