ferror() — 읽기/쓰기 오류 테스트

형식

#include <stdio.h>
int ferror(FILE *stream);

언어 레벨

ANSI

스레드세이프

설명

ferror() 함수는 주어진 stream에서 읽기 또는 쓰기 시 오류를 테스트합니다. 오류가 발생하면 stream을 닫고 rewind() 함수를 호출하거나 clearerr() 함수를 호출할 때까지 stream에 대한 오류 인디케이터가 설정된 채로 유지됩니다.

리턴값

ferror() 함수는 0이 아닌 값을 리턴하여 주어진 stream에서의 오류를 표시합니다. 리턴값 0은 오류가 발생하지 않았음을 의미합니다.

이 예는 데이터를 스트림에 인쇄한 후 쓰기 오류가 발생하지 않았는지 검사합니다.
#include <stdio.h>
 
int main(void)
{
   FILE *stream;
   char *string = "Important information";
   stream = fopen("mylib/myfile","w");
 
   fprintf(stream, "%s\n", string);
   if (ferror(stream))
   {
      printf("write error\n");
      clearerr(stream);
   }
   if (fclose(stream))
      perror("fclose error");
}