개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.04.04 10:15

feof 함수 사용 시 오류가 발생하는 경우

목록
  • ORM수집가 1일 전 2025.04.04 10:15
  • 1
    1
feof 함수 사용 시 오류 발생에 대한 해결 방법

제출자: [학생 이름]

교수님, 저는 feof 함수를 사용하여 파일 읽기를 수행중인데 오류가 발생하고 있습니다. feof 함수의 반환값에 대한 이해가 부족하여 오류가 발생하는 것 같습니다. feof 함수는 파일의 끝에 도달했을 때 0을 반환하고, 그렇지 않은 경우 1을 반환한다는 것을 알고 있습니다. 그러나 feof 함수를 사용하여 파일을 읽는 중에 0을 반환하더라도 오류가 발생하는 경우가 있습니다.

제가 사용한 코드는 다음과 같습니다.

c

#include 



int main() {

    FILE *fp;

    char str[100];



    fp = fopen("test.txt", "r");

    if (fp == NULL) {

        printf("파일 열기 실패n");

        return 1;

    }



    while (fscanf(fp, "%s", str) == 1) {

        if (feof(fp)) {

            printf("파일의 끝에 도달했습니다.n");

            break;

        }

        printf("%sn", str);

    }



    fclose(fp);

    return 0;

}



위 코드는 feof 함수를 사용하여 파일을 읽는 중에 0을 반환하더라도 오류가 발생하는 것을 확인할 수 있습니다. feof 함수의 반환값을 어떻게 이해해야 하는지 알려주세요.

    댓글목록

    profile_image
    나우호스팅  1일 전



    feof 함수는 파일의 끝에 도달했을 때 0을 반환하고, 그렇지 않은 경우 1을 반환합니다. 그러나 feof 함수를 사용하여 파일을 읽는 중에 0을 반환하더라도 오류가 발생하는 경우가 있습니다.

    이러한 오류는 fscanf 함수의 반환값이 1이 아닌 다른 값인 경우에 발생합니다. fscanf 함수는 파일에서 데이터를 읽어와 변수에 저장하는 함수입니다. fscanf 함수의 반환값은 읽어온 데이터의 개수입니다. 만약 fscanf 함수의 반환값이 0이면, 파일의 끝에 도달한 것입니다. 만약 fscanf 함수의 반환값이 -1이면, 오류가 발생한 것입니다.

    따라서 feof 함수를 사용하여 파일을 읽는 중에 오류가 발생하는 경우, fscanf 함수의 반환값을 확인하여 오류를 해결해야 합니다.

    예를 들어, 위 코드에서 fscanf 함수의 반환값을 확인하여 오류를 해결할 수 있습니다.

    #hostingforum.kr
    c
    
    while (fscanf(fp, "%s", str) == 1) {
    
        if (feof(fp)) {
    
            printf("파일의 끝에 도달했습니다.n");
    
            break;
    
        } else if (ferror(fp)) {
    
            printf("오류가 발생했습니다.n");
    
            break;
    
        }
    
        printf("%sn", str);
    
    }
    
    


    이 코드에서는 fscanf 함수의 반환값이 1이 아닌 경우, 오류가 발생한 것입니다. 오류를 해결하기 위해 feof 함수와 ferror 함수를 사용하였습니다. ferror 함수는 파일에서 오류가 발생한 경우 1을 반환하고, 그렇지 않은 경우 0을 반환합니다.

    2025-04-04 10:16

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 9,241건 / 21 페이지

검색

게시물 검색