Funktionen fopen () i C ++ åbner en bestemt fil i en bestemt tilstand.
fopen () prototype
FIL * fopen (const char * filnavn, const char * mode);
Den fopen()
funktion tager to argumenter og returnerer en fil strøm forbundet med at filen angivet af argumentet filnavn.
Det er defineret i header-fil.
Forskellige typer filadgangstilstand er som følger:
Filadgangstilstand | Fortolkning | Hvis der findes en fil | Hvis filen ikke findes |
---|---|---|---|
"r" | Åbner filen i læsetilstand | Læs fra start | Fejl |
"w" | Åbner filen i skrivetilstand | Slet alt indholdet | Opret ny fil |
"en" | Åbner filen i tilføjelsestilstand | Begynd at skrive fra slutningen | Opret ny fil |
"r +" | Åbner filen i læse- og skrivetilstand | Læs fra start | Fejl |
"w +" | Åbner filen i læse- og skrivetilstand | Slet alt indholdet | Opret ny fil |
"a +" | Åbner filen i læse- og skrivetilstand | Begynd at skrive fra slutningen | Opret ny fil |
fopen () Parametre
- filnavn: Markør til strengen, der indeholder navnet på den fil, der skal åbnes.
- mode: Markør til strengen, der specificerer den tilstand, hvor filen åbnes.
fopen () Returværdi
- Hvis det lykkes,
fopen()
returnerer funktionen en markør til FILE-objektet, der styrer den åbnede filstrøm. - Ved fejl returnerer den en nul-markør.
Eksempel 1: Åbning af en fil i skrivetilstand ved hjælp af 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".