언어 자료구조 알고리즘/C11 표준 라이브러리 함수

getc 함수 [C언어 표준 라이브러리 함수 가이드]

언제나휴일 2016. 1. 3. 15:01
반응형

getc


헤더 파일

[언어 자료구조 알고리즘/C11 표준 라이브러리 함수] - STDIO.H

 

int getc(FILE *fp); 파일 스트림의 버퍼에서 앞의 문자의 ASCII 코드 값을 반환하는 매크로 함수
입력 매개 변수 리스트
fp 입력 파일 스트림
반환 값
성공 시 읽은 문자, 실패 시 EOF를 반환하고 eror를 설정
 
사용 예는 fgetc 사용 예와 차이가 있는 부분은 fgetc 함수 호출을 getc로 바꾼 것입니다. getc 함수가 fgetc 함수를 래핑한 매크로 함수이므로 실제 동작에 둘은 차이가 없습니다.
 
사용 예
//C언어 표준 라이브러리 함수 사용법 가이드
//int getc(FILE *fp); 파일 스트림의 버퍼에서 맨 앞의 문자의 ASCII 코드 값을 반환하는 매크로 함수
//input.txt 파일의 내용을 읽어 라인 번호를 추가하여 표준 출력 스트림에 출력
 
#include <stdio.h>
void 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 = getc(fp);//파일에서 하나의 문자를 읽음
        putchar(ch);//표준 출력 스트림에 문자 출력
        if (ch == '\n')//개행 문자일 때
        {
            line_no++;//라인 번호 1 증가
            printf("%4d: ", line_no);//라인 번호 출력
        }
    }
    fclose(fp);//파일 스트림 닫기
    printf("\n");
}
 
input.txt 내용
안녕하세요.
언제나 휴일 커뮤니티 사이트입니다.
C언어 표준 라이브러리 함수 사용법 가이드 집필을 시작하였습니다.
여러분의 많은 관심 바랍니다.
2015 10 23
출력
   1: 안녕하세요.
   2: 언제나 휴일 커뮤니티 사이트입니다.
   3: C언어 표준 라이브러리 함수 사용법 가이드 집필을 시작하였습니다.
   4: 여러분의 많은 관심 바랍니다.
   5: 2015 10 23


 

사용한 함수

[언어 자료구조 알고리즘/C11 표준 라이브러리 함수] - fopen_s

[언어 자료구조 알고리즘/C11 표준 라이브러리 함수] - perror

[언어 자료구조 알고리즘/C11 표준 라이브러리 함수] - printf

[언어 자료구조 알고리즘/C11 표준 라이브러리 함수] - feof 

[언어 자료구조 알고리즘/C11 표준 라이브러리 함수] - putchar

[언어 자료구조 알고리즘/C11 표준 라이브러리 함수] - fclose

 

반응형