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"