Die Funktion fopen () in C ++ öffnet eine angegebene Datei in einem bestimmten Modus.
fopen () Prototyp
FILE * fopen (const char * Dateiname, const char * Modus);
Die fopen()
Funktion verwendet zwei Argumente und gibt einen Dateistream zurück, der der durch das Argument Dateiname angegebenen Datei zugeordnet ist.
Es ist in der Header-Datei definiert.
Es gibt verschiedene Arten des Dateizugriffsmodus:
Dateizugriffsmodus | Interpretation | Wenn eine Datei vorhanden ist | Wenn die Datei nicht vorhanden ist |
---|---|---|---|
"r" | Öffnet die Datei im Lesemodus | Von Anfang an lesen | Error |
"w" | Öffnet die Datei im Schreibmodus | Löschen Sie den gesamten Inhalt | Neue Datei erstellen |
"ein" | Öffnet die Datei im Anhänge-Modus | Beginnen Sie am Ende zu schreiben | Neue Datei erstellen |
"r +" | Öffnet die Datei im Lese- und Schreibmodus | Von Anfang an lesen | Error |
"w +" | Öffnet die Datei im Lese- und Schreibmodus | Löschen Sie den gesamten Inhalt | Neue Datei erstellen |
"a +" | Öffnet die Datei im Lese- und Schreibmodus | Beginnen Sie am Ende zu schreiben | Neue Datei erstellen |
fopen () Parameter
- Dateiname: Zeiger auf die Zeichenfolge, die den Namen der zu öffnenden Datei enthält.
- mode: Zeiger auf die Zeichenfolge, die den Modus angibt, in dem die Datei geöffnet wird.
fopen () Rückgabewert
- Bei Erfolg gibt die
fopen()
Funktion einen Zeiger auf das FILE-Objekt zurück, das den geöffneten Dateistream steuert. - Bei einem Fehler wird ein Nullzeiger zurückgegeben.
Beispiel 1: Öffnen einer Datei im Schreibmodus mit 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".