C clearerr function resets the error flag

Syntax

C clearerr function has the following syntax.

void clearerr(FILE *stream);

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;
}




















Home »
  C Language »
    Function Reference »




assert.h
ctype.h
math.h
setjmp.h
signal.h
stdio.h
stdlib.h
string.h
time.h
wctype.h