void clearerr(FILE *stream);
<justify>Funkcja kasuje znaczniki końca pliku (EOF) oraz błędu dla strumienia stream. Jest to jedyny możliwy sposób na usunięcie wspominanych znaczników. W przypadku wystąpienia błędu, można użyć funkcji Perror, by zorientować się, jaki błąd wystąpił.</justify>
Przykład
#include <stdio.h>
int main (int argc, char** argv)
{
FILE * pFile;
pFile = fopen("plik.txt","r");
if ( !pFile) perror ("Błąd podczas otwierania pliku");
else
{
fputc ('x',pFile);
if ( ferror (pFile) )
{
printf ("Błąd podczas zapisu do pliku 'plik.txt'\n");
clearerr (pFile);
}
fgetc (pFile);
if ( !ferror (pFile) )
printf ("Brak błędów podczas odczytywania pliku 'plik.txt'\n");
fclose (pFile);
}
return 0;
}
<justify>Przykładowy program otwiera do odczytu istniejący plik o nazwie 'plik.txt'. Następnie, próba zapisu do tego pliku kończy się spowodowaniem błędu wejścia/wyjścia (I/O) i wyświetleniem treści błędu. Błąd ten jest jednak czyszczony za pomocą funkcji <font color="gray">crearerr()</span>, dlatego drugie sprawdzenie obecności błędu nie wykaże żadnych nieprawidłowości.</justify>
Funkcja da na wyjściu:
<font color="gray">Błąd podczas zapisu do pliku 'plik.txt'
Brak błędów podczas odczytywania pliku 'plik.txt'</span>
Zobacz też: