본문 바로가기
C/C Library

ferror

by memora 2024. 8. 3.

Index로 돌아가기

 

 【기  능】 파일의 에러발생 상태를 확인해서 돌려준다.
 
 【소  속】 stdio.h 
   #include <stdio.h>
 
 【서  식】  
   int ferror(FILE *fp);
 
 【설  명】  
   fp가 가리키는 파일의 에러 발생상태(에러 지시자)를 확인해서 돌려준다.   
   예를들어 쓰기 모드로 오픈한 파일을 읽기처리 하면, 파일의 에러 지시자가 설정된다.
   파일을 오픈할 때 발생하는 에러는 fopen등의 오픈함수로 알  수 있지만, 파일을
   읽고 쓸때  발생하는 에러는 이 ferror로 검출한다.
   에러 지시자의 클리어는 clearerr함수로 할 수 있다.
 
 【인  수】  
   FILE *fp : file pointer. fopen함수로 오픈한 파일정보를 가지고 있는 핸들러 
 
 【리턴 값】
  에러 지시자가 설정되어 있으면 : 0이외의 수
  에러 지시가가 설정되어 있지 않으면 : 0
 
 【사용 예】
 #include <stdio.h>
 #include <stdlib.h>

 int main(void)
 {
     FILE *fp;
     int iRetn;

    /* 쓰기 모드로 파일을 오픈한다 */
    if( (fp = fopen("test_data.txt", "w") ) == NULL ) {
        printf("파일 오픈 에러\n");
        exit(EXIT_FAILURE);
    }
    else{
        printf("파일 오픈 성공\n");
    }

    /* 오픈한 파일에서 1바이트를 읽는다 */
    iRetn = fgetc(fp);
    putchar(iRetn);

    printf("\n");

    if(ferror(fp) != 0){
        printf("파일 실행 에러 발생\n");
clearerr(fp);
    }
    else{
        printf("파일 실행 에러 미발생\n");
    }

    /* 오픈한 파일을 닫는다(close) */
    iRetn = fclose(fp);
    if(iRetn != 0){
        printf("파일 클로즈 에러\n");
    }
    else{
        printf("파일 클로즈 성공\n");
    }

    return 0;
  }

  【결   과】
파일 오픈 성공

파일 실행 에러 발생
파일 클로즈 성공

Index로 돌아가기

반응형

'C > C Library' 카테고리의 다른 글

fputc  (0) 2024.08.07
fgetc  (0) 2024.08.06
feof  (0) 2024.08.03
rand  (0) 2024.07.29
fclose  (0) 2024.07.28