ferror
From cppreference.net
File input/output
| Types and objects | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
헤더 파일에 정의됨
<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