{{keywords>wiki library source code example reference}}
===== clearerr =====
void clearerr(FILE *stream);
=== Description ===
The clearerr function resets the error flags and EOF indicator for the given stream.\\
When an error occurs, you can use |perror()| to figure out which error actually occurred.
===== clearerr C Sourcecode Example =====
/*
* clearerr example code
* http://code-reference.com/c/stdio.h/clearerr
*/
#include /* including standard library */
//#include /* uncomment this for Windows */
int main( void )
{
FILE *handle;
handle = fopen("test.txt","r");
if (handle!=NULL)
{
fputc ('X',handle);
if (ferror (handle) == 1 ) {
printf ("error in writing to test.txt\n");
clearerr (handle);
}
fgetc (handle);
if (ferror (handle) == 0)
printf ("its all fine\n");
fclose (handle);
}
else {
printf ("error opening file for reading");
}
return 0;
}
==== clearerr output for this example code ====
output: ./clearerr
error in writing to test.txt
its all fine
==== see also ====
[[c:stdio.h:feof|feof()]] [[c:stdio.h:ferror|ferror()]] [[c:stdio.h:perror|perror()]]