Funkcia fopen () v C ++ otvára zadaný súbor v určitom režime.
prototyp fopen ()
FILE * fopen (const char * názov súboru, const char * režim);
fopen()
Funkcia trvá dva argumenty a vráti súbor prúd spojený s týmto súborom určenom argumentu súboru.
Je definované v hlavičkovom súbore.
Medzi rôzne typy režimu prístupu k súborom patria:
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 |
Parametre fopen ()
- názov súboru: Ukazovateľ na reťazec obsahujúci názov súboru, ktorý sa má otvoriť.
- mode: Ukazovateľ na reťazec, ktorý určuje režim, v ktorom je súbor otvorený.
fopen () Návratová hodnota
- Ak je úspešná,
fopen()
funkcia vráti ukazovateľ na objekt SÚBOR, ktorý riadi otvorený prúd súborov. - Pri zlyhaní vráti nulový ukazovateľ.
Príklad 1: Otvorenie súboru v režime zápisu pomocou fopen ()
#include #include using namespace std; int main() ( int c; FILE *fp; fp = fopen("file.txt", "w"); char str(20) = "Hello World!"; if (fp) ( for(int i=0; i
When you run the program, it will not generate any output but will write "Hello World!" to the file "file.txt".
Example 2: Opening a file in read mode using fopen()
#include using namespace std; int main() ( int c; FILE *fp; fp = fopen("file.txt", "r"); if (fp) ( while ((c = getc(fp)) != EOF) putchar(c); fclose(fp); ) return 0; )
When you run the program, the output will be (Assuming the same file as in Example 1):
Hello World!
Example 3: Opening a file in append mode using fopen()
#include #include using namespace std; int main() ( int c; FILE *fp; fp = fopen("file.txt", "a"); char str(20) = "Hello Again."; if (fp) ( putc('',fp); for(int i=0; i
When you run the program, it will not generate any output but will append "Hello Again" in a newline to the file "file.txt".