Namespaces
Variants

ferror

From cppreference.net
< c ‎ | io
헤더 파일에 정의됨 <stdio.h>
int ferror ( FILE * stream ) ;

주어진 스트림에 오류가 있는지 확인합니다.

목차

매개변수

stream - 확인할 파일 스트림

반환값

파일 스트림에 오류가 발생한 경우 0이 아닌 값, 0 그 외의 경우

예제

#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
#include <wchar.h>
int main(void)
{
    char* fname = tmpnam(NULL);
    FILE* f = fopen(fname, "wb");
    fputs("\xff\xff\n", f); // 유효하지 않은 UTF-8 문자 시퀀스
    fclose(f);
    setlocale(LC_ALL, "en_US.utf8");
    f = fopen(fname, "rb");
    wint_t ch;
    while ((ch=fgetwc(f)) != WEOF) // UTF-8로 읽기 시도 실패
          printf("%#x ", ch);
    if (feof(f))
        puts("EOF indicator set");
    if (ferror(f))
        puts("Error indicator set");
}

출력:

Error indicator set

참고문헌

  • C11 표준 (ISO/IEC 9899:2011):
  • 7.21.10.3 ferror 함수 (p: 339)
  • C99 표준 (ISO/IEC 9899:1999):
  • 7.19.10.3 ferror 함수 (p: 305)
  • C89/C90 표준 (ISO/IEC 9899:1990):
  • 4.9.10.3 ferror 함수

참조 항목

오류를 지움
(함수)
파일 끝을 확인함
(함수)
C++ 문서 for ferror