IL metodo fopen() in C è una funzione di libreria che viene utilizzata per aprire un file per eseguire varie operazioni che includono lettura, scrittura, ecc. insieme a varie modalità. Se il file esiste, la funzione fopen() apre il file particolare altrimenti viene creato un nuovo file.
Sintassi
La sintassi di C fopen() è:
FILE * fopen (const char * file_name , const char * mode_of_operation );>
Parametri
Il metodo accetta due parametri di tipo puntatore carattere:
- nome del file: Questo è di tipo C string e accetta il nome del file che è necessario aprire.
- modalità di funzionamento: Anche questo è di tipo C string e si riferisce alla modalità di accesso al file.
La tabella seguente elenca i valori mode_of_operative validi in C con il loro significato:
albero binario java
| Modalità di apertura | Descrizione |
|---|---|
| R | Cerca il file. Apre il file in sola lettura . Se il file viene aperto correttamente, fopen() lo carica in memoria e imposta un puntatore che punta al primo carattere in esso contenuto. Se il file non può essere aperto fopen() restituisce NULL. |
| In | Cerca il file. Se il file esiste già, il suo contenuto verrà sovrascritto. Se il file non esiste, viene creato un nuovo file. Restituisce NULL se non è possibile aprire il file. Crea un nuovo file solo per la scrittura (nessuna lettura). |
| UN | Cerca il file. Se il file viene aperto correttamente, fopen() lo carica in memoria e imposta un puntatore che punta all'ultimo carattere in esso contenuto. Se il file non esiste, viene creato un nuovo file. Restituisce NULL se non è possibile aprire il file. Il file viene aperto solo per l'aggiunta (scrittura alla fine del file). |
| r+ | Cerca il file. Apre il file sia in lettura che in scrittura . Se aperto con successo, fopen() lo carica in memoria e imposta un puntatore che punta al primo carattere in esso contenuto. Restituisce NULL se non è possibile aprire il file. |
| w+ | Cerca il file. Se il file esiste, il suo contenuto viene sovrascritto. Se il file non esiste, viene creato un nuovo file. Restituisce NULL se non è possibile aprire il file. La differenza tra w e w+ è che possiamo leggere anche il file creato usando w+. |
| a+ | Cerca il file. Se il file viene aperto con successo fopen() lo carica in memoria e imposta un puntatore che punta all'ultimo carattere in esso contenuto. Se il file non esiste, viene creato un nuovo file. Restituisce NULL se non è possibile aprire il file. Il file viene aperto per la lettura e l'aggiunta (scrittura alla fine del file). |
| RB | Apri il file binario in modalità lettura. Se il file non esiste, la funzione open() restituisce NULL. |
| wb | Apri il file binario in modalità di scrittura. Poiché il puntatore è impostato all'inizio del file, il file i contenuti vengono sovrascritti. Se il file non esiste, a viene creato un nuovo file. |
| ab | Apri il file binario in modalità di aggiunta. Il puntatore del file è impostato dopo l'ultimo carattere nel file . UN viene creato un nuovo file se non esiste alcun file con il nome. |
| RB+ | Apri il file binario in modalità lettura e scrittura. Se il file non esiste, la funzione open() restituisce NULL. |
| wb+ | Apri il file binario in modalità lettura e scrittura. Se il file esiste, il contenuto viene sovrascritto. Verrà creato se il file non esiste. |
| ab+ | Apri il file binario in modalità lettura e aggiunta. Verrà creato un file se il file non esiste. |
Valore di ritorno
- La funzione viene utilizzata per restituire un puntatore a FILE se l'esecuzione ha esito positivo, altrimenti viene restituito NULL.
Esempio di fopen()
C
// C program to illustrate fopen()> #include> #include> int> main()> {> >// pointer demo to FILE> >FILE>* demo;> >// Creates a file 'demo_file'> >// with file access as write-plus mode> >demo =>fopen>(>'demo_file.txt'>,>'w+'>);> >// adds content to the file> >fprintf>(demo,>'%s %s %s'>,>'Welcome'>,>'to'>,> >'techcodeview.com'>);> >// closes the file pointed by demo> >fclose>(demo);> >return> 0;> }> |
>
>
Eseguendo il comando seguente, verrà creato un nuovo file con il nome file_demo.txt con il seguente contenuto:
Welcome to techcodeview.com>
Ora, se desideriamo esaminare il file, dobbiamo eseguire il seguente codice, che aprirà il file e ne visualizzerà il contenuto.
C
// C program to illustrate fopen()> #include> int> main()> {> >// pointer demo to FILE> >FILE>* demo;> >int> display;> >// Creates a file 'demo_file'> >// with file access as read mode> >demo =>fopen>(>'demo_file.txt'>,>'r'>);> >// loop to extract every characters> >while> (1) {> >// reading file> >display =>fgetc>(demo);> >// end of file indicator> >if> (>feof>(demo))> >break>;> >// displaying every characters> >printf>(>'%c'>, display);> >}> >// closes the file pointed by demo> >fclose>(demo);> >return> 0;> }> |
>
>
Produzione
Welcome to techcodeview.com>
Altri articoli sulla gestione dei file in C:
- Nozioni di base sulla gestione dei file in C
- fopen() per un file esistente in modalità di scrittura
- EOF, getc() e feof() in C
- Modalità di apertura dei file (r contro r+)