fgetc
, fgetwc
스트림에서 문자를 읽습니다.
구문
int fgetc(
FILE *stream
);
wint_t fgetwc(
FILE *stream
);
매개 변수
stream
FILE
구조체에 대한 포인터입니다.
반환 값
fgetc
는 읽은 문자를 int
로 반환하거나, 오류 또는 파일의 끝을 나타내기 위해 EOF
를 반환합니다. fgetwc
wint_t
는 파일의 오류 또는 끝을 나타내기 위해 읽거나 반환 WEOF
하는 문자에 해당하는 와이드 문자를 반환합니다. 두 함수에는 모두 feof
또는 ferror
를 사용하여 오류와 파일 끝(EOF) 조건을 구분합니다. 읽기 오류가 발생하는 경우 스트림에 대한 오류 표시기가 설정됩니다. 이면 stream
매개 변수 유효성 검사에 설명된 대로 잘못된 매개 변수 처리기를 호출합니다.NULL
fgetc
fgetwc
계속해서 실행하도록 허용된 경우 이러한 함수는 errno
를 EINVAL
로 설정하고 EOF
을 반환합니다.
설명
이러한 각 함수는 stream
과 관련된 파일의 현재 위치에서 단일 문자를 읽습니다. 그러고 나서 다음 문자를 가리킬 연결된 파일 포인터(정의된 경우)를 늘립니다. 스트림이 파일 끝에 있는 경우 스트림에 대한 파일 끝 표시기가 설정됩니다.
fgetc
는 getc
와 동일하지만 함수 및 매크로가 아닌 함수로만 구현됩니다.
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.