C clearerr function resets the error flag
Syntax
C clearerr function has the following syntax.
void clearerr(FILE *stream);
Header
C clearerr function is
from header file stdio.h
.
Description
C clearerr function resets (set to zero) the error flag. The end-of-file indicator is also reset.
Example
Clear the error flag by using C clearerr function.
#include <stdio.h>
#include <stdlib.h>
/*w ww. j a va 2 s . c o m*/
int main(int argc, char *argv[]) {
FILE *in, *out;
char ch;
if((in=fopen("inFile.txt", "rb")) == NULL) {
printf("Cannot open input file.\n");
exit(1);
}
if((out=fopen("outFile.txt", "wb")) == NULL) {
printf("Cannot open output file.\n");
exit(1);
}
while(!feof(in)) {
ch = getc(in);
if(ferror(in)) {
printf("Read Error");
clearerr(in);
break;
} else {
if(!feof(in))
putc(ch, out);
if(ferror(out)) {
printf("Write Error");
clearerr(out);
break;
}
}
}
fclose(in);
fclose(out);
return 0;
}