getc, getwcgetc, getwc

스트림에서 문자를 읽습니다.Read a character from a stream.


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

매개 변수Parameters

입력 스트림입니다.Input stream.

Return ValueReturn Value

읽은 문자를 반환합니다.Returns the character read. 읽기 오류 또는 파일 끝 조건을 나타내기 위해 getcEOF를 반환 하 고 getwc 는 weof를 반환 합니다.To indicate a read error or end-of-file condition, getc returns EOF, and getwc returns WEOF. Getc의 경우 ferror 또는 feof 를 사용 하 여 오류 또는 파일 끝을 확인 합니다.For getc, use ferror or feof to check for an error or for end of file. StreamNULL인 경우 Getcgetwc매개 변수 유효성 검사에 설명 된 대로 잘못 된 매개 변수 처리기를 호출 합니다.If stream is NULL, getc and getwc invoke the invalid parameter handler, as described in Parameter Validation. 계속 해 서 실행 하도록 허용한 경우 이러한 함수는 EOF (또는 getwc)를 반환 하 고 errnoEINVAL로 설정 합니다.If execution is allowed to continue, these functions return EOF (or WEOF for getwc) and set errno to EINVAL.

이러한 오류 코드 및 기타 오류 코드에 대한 자세한 내용은 _doserrno, errno, _sys_errlist 및 _sys_nerr를 참조하세요.See _doserrno, errno, _sys_errlist, and _sys_nerr for more information on these, and other, error codes.


각 루틴은 파일에서 현재 위치의 단일 문자를 읽고 다음 문자를 가리킬 연결된 파일 포인터(정의된 경우)를 늘립니다.Each routine reads a single character from a file at the current position and increments the associated file pointer (if defined) to point to the next character. 파일이 스트림과연결 되어 있습니다.The file is associated with stream.

이러한 함수는 호출 스레드를 잠그므로 스레드로부터 안전합니다.These functions lock the calling thread and are therefore thread-safe. 잠기지 않는 버전의 경우 _getc_nolock, _getwc_nolock을 참조하세요.For a non-locking version, see _getc_nolock, _getwc_nolock.

이어서 루틴별 설명이 제공됩니다.Routine-specific remarks follow.

루틴에서 반환된 값Routine 설명Remarks
getcgetc Fgetc와 동일 하지만 함수 및 매크로로 구현 됩니다.Same as fgetc, but implemented as a function and as a macro.
getwcgetwc Getc의 와이드 문자 버전입니다.Wide-character version of getc. 스트림이 텍스트 모드 또는 이진 모드로 열리는지 여부에 따라 멀티 바이트 문자 또는 와이드 문자를 읽습니다.Reads a multibyte character or a wide character according to whether stream is opened in text mode or binary mode.

기본적으로이 함수의 전역 상태는 응용 프로그램으로 범위가 지정 됩니다.By default, this function's global state is scoped to the application. 이를 변경 하려면 CRT의 전역 상태를 참조 하세요.To change this, see Global state in the CRT.

제네릭 텍스트 라우팅 매핑Generic-Text Routine Mappings

TCHAR.H 루틴TCHAR.H routine _UNICODE 및 _MBCS 정의되지 않음_UNICODE & _MBCS not defined _MBCS 정의됨_MBCS defined _UNICODE 정의됨_UNICODE defined
_gettc_gettc getcgetc getcgetc getwcgetwc

요구 사항Requirements

루틴에서 반환된 값Routine 필수 헤더Required header
getcgetc <stdio.h><stdio.h>
getwcgetwc <stdio.h> 또는 <wchar.h><stdio.h> or <wchar.h>

호환성에 대한 자세한 내용은 Compatibility을 참조하세요.For additional compatibility information, see Compatibility.


// 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");

    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);


입력: crt_getc.txtInput: crt_getc.txt

Line one.
Line two.


Input was: Line one.

참조See also

스트림 I/OStream I/O
fgetc, fgetwcfgetc, fgetwc
_getch, _getwch_getch, _getwch
putc, putwcputc, putwc
ungetc, ungetwcungetc, ungetwc