fgetc 함수

int fgetc(FILE *fp); 파일 스트림의 버퍼에서 맨 앞의 문자의 ASCII 코드 값을 반환하는 함수

입력 매개 변수 리스트

fp 입력 파일 스트림

반환 값

성공 시 읽은 문자, 실패 시 EOF를 반환하고 error를 설정

fgetc 함수 호출 결과가 EOF일 때는 읽은 문자가 파일의 끝을 의미하는 EOF이거나 읽기 오류일 때입니다. 따라서 EOF를 반환했다고 반드시 읽기 실패가 아닙니다. 읽기 실패일 때는 error 플래그를 설정하므로 ferror로 확인해야 에러인지 아닌지 판단할 수 있습니다.

사용 예

사용 예
//C언어 표준 라이브러리 함수 가이드
// int fgetc(FILE *fp); 파일 스트림의 버퍼에서 맨 앞의 문자의 ASCII 코드 값 반환
//input.txt 파일의 내용을 읽어 라인 번호를 추가하여 표준 출력 스트림에 출력
#include <stdio.h>
int main(void)
{
    FILE * fp;
    int ch;
    int line_no = 0;

    fopen_s(&fp, "input.txt", "rt");//읽기 모드로 파일 열기
    if (fp == NULL) //열기 실패
    {
        perror("error fopen");
        return;
    }

    line_no++;
    printf("%4d: ", line_no);//라인번호 출력
    while (!feof(fp))//파일의 끝을 만나지 않았다면 반복
    {
        ch = fgetc(fp);//파일에서 하나의 문자를 읽음
        putchar(ch);//표준 출력 스트림에 문자 출력
        if (ch == '\n')//개행 문자일 때
        {
            line_no++;//라인 번호 1 증가
            printf("%4d: ", line_no);//라인 번호 출력
        }
    }
    fclose(fp);//파일 스트림 닫기
    printf("\n");
    return 0;
}

input.txt 내용

안녕하세요. 
언제나 휴일 커뮤니티 사이트입니다.
C언어 표준 라이브러리 함수 가이드 집필을 시작하였습니다.
여러분의 많은 관심 바랍니다.
2015년 10월 23일

출력

   1: 안녕하세요. 
   2: 언제나 휴일 커뮤니티 사이트입니다.
   3: C언어 표준 라이브러리 함수 가이드 집필을 시작하였습니다.
   4: 여러분의 많은 관심 바랍니다.
   5: 2015년 10월 23일