사용범위
Windows, Unix 등 모든 OS에서 사용가능한 표준 API 함수
기능
C언어 표준 함수로 file 스트림에서 읽기 또는 쓰기 작업시 오류 발생 확인시 사용한다.
헤더
#include <stdio.h>
※ ferror 함수 사용시 stdio.h 파일을 include 하지 않는다면 컴파일시 error 발생 ※
함수
int ferror(FILE* file);
파라미터
- FILE* file
- fopen 함수를 통해 열린 file stream을 입력한다.
- fopen 함수를 통해 열린 file stream을 입력한다.
반환값 (return)
File stream 오류가 없는 경우 0 을 반환한다.
File stream 오류가 발생한 경우 0 이 아닌 값을 반환한다.
<소스 코드>
#include <stdio.h>
#define MAX_BUF_SIZE 128
int main() {
FILE *fp;
char buffer[MAX_BUF_SIZE] = {0,};
fp = fopen("test.txt", "w");
if (fp != NULL) {
fgets(buffer, MAX_BUF_SIZE, fp);
if (ferror(fp)) {
// 오류 발생 (Write Mode 에서 Read 시도함)
printf("fgets error\n");
} else {
// 오류 없음
printf("Data[%s]\n", buffer);
}
fclose(fp);
} else {
// fopen 함수 실패
}
return 0;
}
※ 실행 결과
fgets error
반응형
'C언어 > stdio.h' 카테고리의 다른 글
[C언어] perror 함수 (stdio.h) (0) | 2022.09.06 |
---|---|
[C언어] feof 함수 (stdio.h) (0) | 2022.09.04 |
[C언어] ftell 함수 (stdio.h, 파일 크기, stream 위치 구하기) (0) | 2022.09.02 |
[C언어] fseek 함수 (stdio.h, 파일 stream 오프셋 변경) (0) | 2022.08.31 |
[C언어] freopen 함수 (stdio.h) (0) | 2022.08.26 |