fclose

La funzione fclose in C serve a chiudere un file dopo averlo utilizzato. Infatti, se non è più necessario accedere al file, dobbiamo chiuderlo in modo da rendere lo stream disponibile per un nuovo utilizzo.

La sintassi della funzione fclose in C è dunque la seguente:

int fclose(FILE *fp)

Dove FILE *fp è il puntatore a FILE ottenuto dalla precedente chiamata fopen.

Notiamo come fclose ritorna come risultato un intero:

se l’operazione di chiusura è andata a buon fine infatti restituisce 0;

se invece l’operazione di chiusura non è andata a buon fine, allora restituisce EOF, che è un valore costante.


Esempio di utilizzo di fclose

Vediamo un semplice esempio di utilizzo della funzione fclose() in C.

Apriamo un file di testo di nome coding.txt in sola lettura (r) utilizzando la funzione fopen() e dopo con fclose() lo chiudiamo.

Conviene sempre effettuare il controllo per vedere se durante l’apertura del file ci sono stati dei problemi. Per proseguire nel programma dunque basta verificare che il puntatore non restituisca un valore NULL.

     FILE *fp;
     if((fp=fopen("coding.txt","r"))==NULL)
       { 
         printf("Fallimento!\n");
         exit(1);
       }
      ...
      fclose(fp);

N.B. Tutti i file vengono chiusi in maniera automatica se viene chiamata l’istruzione exit o se il programma termina regolarmente. In questi casi dunque non è necessario utilizzare la funzione fclose.

Nelle prossime lezioni studieremo altre funzioni per gestire i file in C e svilupperemo tanti altri esempi d’utilizzo delle funzioni sui file.

Alcuni link utili

Media per riga e per colonna

Somma elementi diagonale principale di una matrice

Come sommare gli elementi della cornice esterna

Come sommare due matrici

Sommare dei numeri di una matrice

Matrice trasposta

Prodotto tra matrici

Ricerca elementi in una matrice

Inserire dati in una matrice

Tavola pitagorica in C

Array con numeri random

Merge sort in C

Insertion Sort in C


Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *