clearerr 함수

void clearerr(FILE * fp); 파일 스트림의 에러 플래그를 지우는 함수

입력 매개 변수 리스트

fp 파일 스트림

반환 값

없음

 

clearerr 함수는 error 지시자와 end of file 지시자를 지워줍니다.

사용 예

//C언어 표준 라이브러리 함수 가이드
//void clearerr ( FILE * fp ); 파일 스트림의 에러 플래그를 지우는 함수
//쓰기 모드로 파일을 열고 fgetc 호출 시 에러를 출력하고 에러를 지운 후에 다시 출력

#include <stdio.h>
int main (void)
{
    FILE * fp;
    int re,no;
    fopen_s (&fp,"data.txt","w");//쓰기 모드로 파일 열기
    if (fp==NULL) 
    {
        perror ("error fopen");        
        return 0;
    }
    re = fgetc(fp);//출력 파일 스트림에서 문자 읽기
    if(re == -1)
    {     
        no = ferror(fp);//에러 번호 확인
        printf("errno is %d\n",no);//에러 번호 출력

        clearerr(fp);//에러 지우기
        no = ferror(fp);//에러 번호 확인
        printf("errno is %d\n",no);//에러 번호 출력
    }
    
    fclose (fp);
    return 0;
}

출력

errno is 1
errno is 0