C Tutorial/stdio.h/clearerr

Материал из C\C++ эксперт
Версия от 10:32, 25 мая 2010; Admin (обсуждение | вклад) (1 версия: Импорт контента...)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

clearerr

Item Value Header file stdio.h Declaration void clearerr(FILE *stream); Function Reset (set to zero) the error flag. The end-of-file indicator is also reset.


#include <stdio.h>
  #include <stdlib.h>
  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;
  }