Clearerr

ceer
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

```c #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><b>crearerr()</b></span>, dlatego drugie sprawdzenie obecności błędu nie wykaże żadnych nieprawidłowości.</justify>
Funkcja da na wyjściu:

<kbd><font color=gray>Błąd podczas zapisu do pliku 'plik.txt'
Brak błędów podczas odczytywania pliku 'plik.txt'</span></kbd>

____
<b>Zobacz też:</b>
* [[C/errno]]
* [[C/strerror]]
* [[C/strerror_r]]
* [[C/perror]]
* [[C/stderr]]

0 komentarzy