Funkce fopen () v C ++ otevře zadaný soubor v určitém režimu.
prototyp fopen ()
FILE * fopen (const char * název souboru, const char * režim);
fopen()
Funkce trvá dva argumenty a vrátí soubor proud spojený s tímto souborem určeném argumentu souboru.
Je definován v hlavičkovém souboru.
Různé typy režimu přístupu k souborům jsou následující:
Režim přístupu k souborům | Výklad | Pokud soubor existuje | Pokud soubor neexistuje |
---|---|---|---|
„r“ | Otevře soubor v režimu čtení | Číst od začátku | Chyba |
"w" | Otevře soubor v režimu zápisu | Vymažte veškerý obsah | Vytvořit nový soubor |
"A" | Otevře soubor v režimu připojení | Začněte psát od konce | Vytvořit nový soubor |
„r +“ | Otevře soubor v režimu čtení a zápisu | Číst od začátku | Chyba |
„w +“ | Otevře soubor v režimu čtení a zápisu | Vymažte veškerý obsah | Vytvořit nový soubor |
„a +“ | Otevře soubor v režimu čtení a zápisu | Začněte psát od konce | Vytvořit nový soubor |
fopen () parametry
- název souboru: Ukazatel na řetězec obsahující název souboru, který se má otevřít.
- mode: Ukazatel na řetězec, který určuje režim, ve kterém je soubor otevřen.
fopen () Návratová hodnota
- Pokud je úspěšná,
fopen()
funkce vrátí ukazatel na objekt FILE, který řídí otevřený datový proud souboru. - Při selhání vrátí nulový ukazatel.
Příklad 1: Otevření souboru v režimu zápisu pomocí 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".