ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • C/C++ getc(3) fgetc(3) getchar(3)
    C,C++ & Linux 2020. 5. 21. 15:56
    728x90

    함수 기능

    문자 한 개를 읽어주는 함수입니다.

     

    getc()와 fgetc() 는 기능은 같으나 getc() 는 매크로, fgetc()는 함수로 구현되어있습니다.

    getchar() 함수는 표준 입력 파일에서 한 글자를 읽어들입니다.

    함수 원형

    #include <stdio.h>
    
    int getc(FILE *fp);
    int fgetc(FILE *fp);
    int getchar();

    매개변수

    fp

    읽고자하는 파일의 파일 포인터

    반환값

    성공 시 읽은 문자 리턴

    파일의 끝에 다다르거나 에러 시 EOF 리턴

    예제

    #include <stdio.h>
    #include <stdlib.h>
    #include <unistd.h>
    
    int main(int argc, char *argv[]) {
        int character;
    
        // 표준 입력파일에서 계속 읽어들이면서
        // Ctrl + D 을 누르면 표준 입력에 EOF 뜸
        while ((character = getc(stdin)) != EOF) {
            // 표준 출력으로 그대로 출력
            if (putc(character, stdout) == EOF) {
                fprintf(stderr, "standard output error\n");
                exit(1);
            }
        }
    
        // getc() 가 파일의 끝에 다다른건지 에러인지 확인해주는 함수
        if (ferror(stdin)) {
            fprintf(stderr, "stanard input error\n");
            exit(1);
        }
    
    
        exit(0);
    }
    

     

    결과

     

     

     

     

     

     

     

     

     

     

    리눅스시스템프로그래밍 저자 : 홍지만
    https://book.naver.com/bookdb/book_detail.nhn?bid=14623672

    책에 기술된 예제 프로그램입니다. 책 내부에는 훨씬 더 많은 자료가 있습니다. (개인적으로 좋았습니다.)

    'C,C++ & Linux' 카테고리의 다른 글

    C/C++ ungetc(3)  (0) 2020.05.22
    C/C++ ferror(3) feof(3) clearerr(3)  (0) 2020.05.21
    C/C++ fflush(3)  (0) 2020.05.21
    C/C++ setbuf(3) setvbuf(3)  (0) 2020.05.21
    C/C++ fclose(3) fcloseall(3)  (0) 2020.05.21

    댓글

Designed by Tistory.