다음을 통해 공유


getc, getwc

스트림에서 문자를 읽습니다.

구문

int getc(
   FILE *stream
);
wint_t getwc(
   FILE *stream
);

매개 변수

stream
입력 스트림입니다.

반환 값

읽은 문자를 반환합니다. 읽기 오류 또는 파일 끝 조건을 표시하기 위해 getcEOF를 반환하고 getwcWEOF를 반환합니다. getc의 경우 ferror 또는 feof를 사용하여 오류 또는 파일 끝이 있는지 확인합니다. 이면 stream 매개 변수 유효성 검사에 설명된 대로 잘못된 매개 변수 처리기를 호출합니다.NULLgetc getwc 실행을 계속하도록 허용된 경우 이러한 함수는 반환 EOF (또는 WEOF 해당 getwc)으로 설정 errno 됩니다 EINVAL.

반환 코드에 대한 자세한 내용은 , , 및 를 참조하세요errno._sys_nerr_sys_errlist_doserrno

설명

각 루틴은 파일에서 현재 위치의 단일 문자를 읽고 다음 문자를 가리킬 연결된 파일 포인터(정의된 경우)를 늘립니다. 파일은 stream과 연결됩니다.

이러한 함수는 호출 스레드를 잠그므로 스레드로부터 안전합니다. 잠금이 아닌 버전은 다음_getwc_nolock을 참조하세요_getc_nolock.

이어서 루틴별 설명이 제공됩니다.

루틴에서 반환된 값 설명
getc fgetc와 같지만 함수 및 매크로로 구현됩니다.
getwc 와이드 문자 버전의 getc입니다. stream이 텍스트 모드 또는 이진 모드로 열리는지에 따라 멀티바이트 문자 또는 와이드 문자를 읽습니다.

기본적으로 이 함수의 전역 상태는 애플리케이션으로 범위가 지정됩니다. 이 동작을 변경하려면 CRT 전역 상태를 참조하세요.

일반 텍스트 루틴 매핑

TCHAR.H 루틴 _UNICODE_MBCS 정의되지 않음 정의된 _MBCS 정의된 _UNICODE
_gettc getc getc getwc

요구 사항

루틴에서 반환된 값 필수 헤더
getc <stdio.h>
getwc <stdio.h> 또는 <wchar.h>

호환성에 대한 자세한 내용은 호환성을 참조하세요.

예시

// crt_getc.c
// Use getc to read a line from a file.

#include <stdio.h>

int main()
{
    char buffer[81];
    int i, ch;
    FILE* fp;

    // Read a single line from the file "crt_getc.txt".

    fopen_s(&fp, "crt_getc.txt", "r");
    if (!fp)
    {
       printf("Failed to open file crt_getc.txt.\n");
       exit(1);
    }

    for (i = 0; (i < 80) && ((ch = getc(fp)) != EOF)
                         && (ch != '\n'); i++)
    {
        buffer[i] = (char) ch;
    }

    // Terminate string with a null character
    buffer[i] = '\0';
    printf( "Input was: %s\n", buffer);

    fclose(fp);
}

입력: crt_getc.txt

Line one.
Line two.

출력

Input was: Line one.

참고 항목

스트림 I/O
fgetc, fgetwc
_getch, _getwch
putc, putwc
ungetc, ungetwc