Funkcija fopen () v jeziku C ++ odpre določeno datoteko v določenem načinu.
prototip fopen ()
FILE * fopen (način const char * ime datoteke, način const char *);
fopen()
Funkcija traja dva argumenta in vrne tok datoteke, povezane s to datoteko, ki jo je argument ime datoteke.
Določen je v datoteki glave.
Različne vrste načina dostopa do datotek so naslednje:
Način dostopa do datotek | Tolmačenje | Če datoteka obstaja | Če datoteka ne obstaja |
---|---|---|---|
"r" | Datoteko odpre v načinu branja | Preberite od začetka | Napaka |
"w" | Datoteko odpre v načinu pisanja | Izbriši vso vsebino | Ustvari novo datoteko |
"a" | Datoteko odpre v načinu dodajanja | Začnite pisati od konca | Ustvari novo datoteko |
"r +" | Datoteko odpre v načinu branja in pisanja | Preberite od začetka | Napaka |
"w +" | Datoteko odpre v načinu branja in pisanja | Izbriši vso vsebino | Ustvari novo datoteko |
"a +" | Datoteko odpre v načinu branja in pisanja | Začnite pisati od konca | Ustvari novo datoteko |
fopen () Parametri
- ime datoteke: kazalec na niz, ki vsebuje ime datoteke, ki jo želite odpreti.
- mode: Kazalec na niz, ki določa način, v katerem se datoteka odpre.
fopen () Vrnjena vrednost
- Če je
fopen()
funkcija uspešna, vrne kazalec na objekt FILE, ki nadzoruje odprti tok datotek. - Ob napaki vrne ničelni kazalec.
Primer 1: Odpiranje datoteke v načinu pisanja s pomočjo 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".