A C ++ freopen () függvénye új fájlt próbál megnyitni egy másik megnyitott fájlhoz társított fájlfolyammal.
A freopen () függvény a fejlécfájlban van meghatározva.
freopen () prototípus
FILE * freopen (const char * fájlnév, const char * mód, FILE * stream);
A freopen funkció először a stream segítségével próbálja bezárni a megnyitott fájlt. A fájl bezárása után megpróbálja megnyitni az argumentum fájlnév által megadott fájlnevet (ha az nem null) az argumentum mód által megadott módban. Végül társítja a fájlt a fájlfolyam-folyammal.
Ha a fájlnév null mutató, a freopen () függvény megpróbálja újra megnyitni a fájlt, amely már társítva van a folyamhoz.
freopen () Paraméterek
- fájlnév: Új fájl megnyitása.
- mód: mód a fájl megnyitásához. A fájlok elérési módjának különféle típusai a következők:
Fájlelérési mód | Értelmezés | Ha létezik fájl | Ha a fájl nem létezik |
---|---|---|---|
"r" | Megnyitja a fájlt olvasási módban | Olvassa el az elejétől | Hiba |
"w" | Megnyitja a fájlt írási módban | Törölje az összes tartalmat | Hozzon létre új fájlt |
"a" | Megnyitja a fájlt függelék módban | Kezdje el írni a végétől | Hozzon létre új fájlt |
"r +" | Megnyitja a fájlt írási és olvasási módban | Olvassa el az elejétől | Hiba |
"w +" | Megnyitja a fájlt írási és olvasási módban | Törölje az összes tartalmat | Hozzon létre új fájlt |
"a +" | Megnyitja a fájlt írási és olvasási módban | Kezdje el írni a végétől | Hozzon létre új fájlt |
- adatfolyam: A fájlfolyam, amelyhez fájlnevet társít.
freopen () Visszatérési érték
A freopen () függvény visszatér:
- patak a sikerről.
- NULL a kudarcról.
Példa: Hogyan működik a freopen () függvény?
#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; )
A program futtatásakor:
Az alábbiakat a test1.txt fájlra írjuk: Ezt a test1.txt fájlra írjuk A következő fájlokat a test2.txt fájlra írjuk: Ezt a test2.txt fájlra írjuk