Funzione di libreria C - clearerr ()

Descrizione

La funzione di libreria C. void clearerr(FILE *stream) cancella la fine del file e gli indicatori di errore per il flusso specificato.

Dichiarazione

Di seguito è riportata la dichiarazione per la funzione clearerr ().

void clearerr(FILE *stream)

Parametri

  • stream - Questo è il puntatore a un oggetto FILE che identifica il flusso.

Valore di ritorno

Questo non dovrebbe fallire e non imposta la variabile esterna errno ma nel caso in cui rilevi che il suo argomento non è un flusso valido, deve restituire -1 e impostare errno su EBADF.

Esempio

L'esempio seguente mostra l'utilizzo della funzione clearerr ().

#include <stdio.h>

int main () {
   FILE *fp;
   char c;

   fp = fopen("file.txt", "w");

   c = fgetc(fp);
   if( ferror(fp) ) {
      printf("Error in reading from file : file.txt\n");
   }
   clearerr(fp);
   
   if( ferror(fp) ) {
      printf("Error in reading from file : file.txt\n");
   }
   fclose(fp);

   return(0);
}

Supponendo di avere un file di testo file.txt, che è un file vuoto, compiliamo ed eseguiamo il programma precedente, questo produrrà il seguente risultato perché proviamo a leggere un file che abbiamo aperto in modalità di sola scrittura.

Error reading from file "file.txt"