Funkce clearerr () vymaže indikátory konce souboru a chyby pro daný stream.
V programování C clearerr () vymaže indikátory konce souboru a chyby pro daný stream.
clearerr()
Funkce je definována v záhlaví souboru.
C clearerr () Prototyp
void clearerr (SOUBOR * stream);
Funkce clearerr () přebírá jeden parametr, kterým je ukazatel na objekt SOUBOR, který identifikuje proud.
Funkce nevrací žádnou hodnotu.
Příklad: Funkce C clearerr ()
#include int main () ( FILE * pFile; pFile = fopen("myfile.txt","r"); if (pFile == NULL) perror ("Error opening file"); else ( fputc('x', pFile); if(ferror(pFile)) ( printf("Error Writing to myfile.txt"); clearerr(pFile); ) fgetc(pFile); if (!ferror(pFile)) printf("No errors reading myfile.txt"); fclose(pFile); ) return 0; )
Výstup
Chyba při zápisu do souboru myfile.txt Žádné chyby při čtení souboru myfile.txt
Tento program otevře existující soubor s názvem myfile.txt
ke čtení.
Nyní se funkce fputc()
pokusí zapsat do souboru. Protože zápis není povolen v režimu čtení, způsobí to chybu I / O.
Tato chyba je však vymazána pomocí clearerr()
. Když tedy ve ferror()
funkci dojde k další kontrole chyb , zobrazí se, že nebyly nalezeny žádné chyby.