Funksjonen fopen () i C ++ åpner en spesifisert fil i en bestemt modus.
fopen () prototype
FIL * fopen (const char * filnavn, const char * mode);
Den fopen()
funksjonen tar en to argumenter og returnerer en strøm fil assosiert med denne filen er spesifisert av argumentet filnavn.
Det er definert i topptekstfilen.
Ulike typer filtilgangsmodus er som følger:
Filtilgangsmodus | Tolkning | Hvis filen eksisterer | Hvis filen ikke eksisterer |
---|---|---|---|
"r" | Åpner filen i lesemodus | Les fra start | Feil |
"w" | Åpner filen i skrivemodus | Slett alt innholdet | Opprett ny fil |
"en" | Åpner filen i tilleggsmodus | Begynn å skrive fra slutten | Opprett ny fil |
"r +" | Åpner filen i lese- og skrivemodus | Les fra start | Feil |
"w +" | Åpner filen i lese- og skrivemodus | Slett alt innholdet | Opprett ny fil |
"a +" | Åpner filen i lese- og skrivemodus | Begynn å skrive fra slutten | Opprett ny fil |
fopen () Parametere
- filnavn: peker til strengen som inneholder navnet på filen som skal åpnes.
- modus: Peker til strengen som spesifiserer modusen filen åpnes i.
fopen () Returverdi
- Hvis det lykkes,
fopen()
returnerer funksjonen en peker til FILE-objektet som styrer den åpnede filstrømmen. - Ved feil returnerer den en nullpeker.
Eksempel 1: Åpne en fil i skrivemodus ved hjelp av 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".