La funzione fopen () in C ++ apre un file specificato in una determinata modalità.
prototipo fopen ()
FILE * fopen (const char * filename, const char * mode);
La fopen()
funzione accetta due argomenti e restituisce un flusso di file associato a quel file specificato dall'argomento filename.
È definito nel file di intestazione.
I diversi tipi di modalità di accesso ai file sono i seguenti:
Modalità di accesso ai file | Interpretazione | Se il file esiste | Se il file non esiste |
---|---|---|---|
"r" | Apre il file in modalità di lettura | Leggi dall'inizio | Errore |
"w" | Apre il file in modalità di scrittura | Cancella tutto il contenuto | Crea nuovo file |
"un" | Apre il file in modalità di aggiunta | Inizia a scrivere dalla fine | Crea nuovo file |
"r +" | Apre il file in modalità di lettura e scrittura | Leggi dall'inizio | Errore |
"w +" | Apre il file in modalità di lettura e scrittura | Cancella tutto il contenuto | Crea nuovo file |
"a +" | Apre il file in modalità di lettura e scrittura | Inizia a scrivere dalla fine | Crea nuovo file |
Parametri fopen ()
- nomefile: puntatore alla stringa contenente il nome del file da aprire.
- mode: puntatore alla stringa che specifica la modalità in cui il file viene aperto.
fopen () Restituisce il valore
- In caso di esito positivo, la
fopen()
funzione restituisce un puntatore all'oggetto FILE che controlla il flusso di file aperto. - In caso di errore, restituisce un puntatore nullo.
Esempio 1: apertura di un file in modalità di scrittura utilizzando 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".