다음을 통해 공유


fgetc, fgetwc

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

구문

int fgetc(
   FILE *stream
);
wint_t fgetwc(
   FILE *stream
);

매개 변수

stream
FILE 구조체에 대한 포인터입니다.

반환 값

fgetc는 읽은 문자를 int로 반환하거나, 오류 또는 파일의 끝을 나타내기 위해 EOF를 반환합니다. fgetwcwint_t는 파일의 오류 또는 끝을 나타내기 위해 읽거나 반환 WEOF 하는 문자에 해당하는 와이드 문자를 반환합니다. 두 함수에는 모두 feof 또는 ferror를 사용하여 오류와 파일 끝(EOF) 조건을 구분합니다. 읽기 오류가 발생하는 경우 스트림에 대한 오류 표시기가 설정됩니다. 이면 stream 매개 변수 유효성 검사에 설명된 대로 잘못된 매개 변수 처리기를 호출합니다.NULLfgetc fgetwc 계속해서 실행하도록 허용된 경우 이러한 함수는 errnoEINVAL로 설정하고 EOF을 반환합니다.

설명

이러한 각 함수는 stream과 관련된 파일의 현재 위치에서 단일 문자를 읽습니다. 그러고 나서 다음 문자를 가리킬 연결된 파일 포인터(정의된 경우)를 늘립니다. 스트림이 파일 끝에 있는 경우 스트림에 대한 파일 끝 표시기가 설정됩니다.

fgetcgetc와 동일하지만 함수 및 매크로가 아닌 함수로만 구현됩니다.

fgetwc는 와이드 문자 버전fgetc입니다. c는 각각 텍스트 모드 또는 이진 모드에서 열릴 때 stream 멀티바이트 문자 또는 와이드 문자로 읽습니다.

_nolock 접미사가 있는 버전은 다른 스레드에 의한 간섭에서 보호되지 않는 점을 제외하면 동일합니다.

텍스트 및 이진 모드에서 와이드 문자 및 멀티바이트 문자를 처리하는 방법에 대한 자세한 내용은 텍스트 및 이진 모드에서 유니코드 스트림 I/O를 참조 하세요.

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

일반 텍스트 루틴 매핑

TCHAR.H 루틴 _UNICODE_MBCS 정의되지 않음 정의된 _MBCS 정의된 _UNICODE
_fgettc fgetc fgetc fgetwc

요구 사항

함수 필수 헤더
fgetc <stdio.h>
fgetwc <stdio.h> 또는 <wchar.h>

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

예시

// crt_fgetc.c
// This program uses getc to read the first
// 80 input characters (or until the end of input)
// and place them into a string named buffer.

#include <stdio.h>
#include <stdlib.h>

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

   // Open file to read line from:
   fopen_s( &stream, "crt_fgetc.txt", "r" );
   if( stream == NULL )
      exit( 0 );

   // Read in first 80 characters and place them in "buffer":
   ch = fgetc( stream );
   for( i=0; (i < 80 ) && ( feof( stream ) == 0 ); i++ )
   {
      buffer[i] = (char)ch;
      ch = fgetc( stream );
   }

   // Add null to end string
   buffer[i] = '\0';
   printf( "%s\n", buffer );
   fclose( stream );
}

입력: crt_fgetc.txt

Line one.
Line two.

출력

Line one.
Line two.

참고 항목

스트림 I/O
fputc, fputwc
getc, getwc