logo

Funzione C fopen() con esempi

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:

  1. Nozioni di base sulla gestione dei file in C
  2. fopen() per un file esistente in modalità di scrittura
  3. EOF, getc() e feof() in C
  4. Modalità di apertura dei file (r contro r+)