fgetc, fgetwcfgetc, fgetwc

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

구문Syntax

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

매개 변수Parameters

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

반환 값Return Value

fgetc는 읽은 문자를 int로 반환하거나, 오류 또는 파일의 끝을 나타내기 위해 EOF를 반환합니다.fgetc returns the character read as an int or returns EOF to indicate an error or end of file. fgetwc는 읽은 문자에 해당되는 와이드 문자를 wint_t로 반환하거나 오류 또는 파일의 끝을 나타내기 위해 WEOF를 반환합니다.fgetwc returns, as a wint_t, the wide character that corresponds to the character read or returns WEOF to indicate an error or end of file. 두 함수에는 모두 feof 또는 ferror를 사용하여 오류와 파일 끝(EOF) 조건을 구분합니다.For both functions, use feof or ferror to distinguish between an error and an end-of-file condition. 읽기 오류가 발생하는 경우 스트림에 대한 오류 표시기가 설정됩니다.If a read error occurs, the error indicator for the stream is set. streamNULL인 경우 fgetcfgetwc매개 변수 유효성 검사에 설명된 대로 잘못된 매개 변수 처리기를 호출합니다.If stream is NULL, fgetc and fgetwc invoke the invalid parameter handler, as described in Parameter Validation. 계속해서 실행하도록 허용된 경우 이러한 함수는 errnoEINVAL로 설정하고 EOF을 반환합니다.If execution is allowed to continue, these functions set errno to EINVAL and return EOF.

설명Remarks

이러한 각 함수는 stream과 관련된 파일의 현재 위치에서 단일 문자를 읽습니다.Each of these functions reads a single character from the current position of the file associated with stream. 그러고 나서 다음 문자를 가리킬 연결된 파일 포인터(정의된 경우)를 늘립니다.The function then increments the associated file pointer (if defined) to point to the next character. 스트림이 파일 끝에 있는 경우 스트림에 대한 파일 끝 표시기가 설정됩니다.If the stream is at end of file, the end-of-file indicator for the stream is set.

fgetcgetc와 동일하지만 함수 및 매크로가 아닌 함수로만 구현됩니다.fgetc is equivalent to getc, but is implemented only as a function, rather than as a function and a macro.

fgetwcfgetc의 와이드 문자 버전입니다. 이는 c이 텍스트 모드 또는 이진 모드로 열리는지에 따라 stream를 멀티바이트 문자 또는 와이드 문자로 읽습니다.fgetwc is the wide-character version of fgetc; it reads c as a multibyte character or a wide character according to whether stream is opened in text mode or binary mode.

_nolock 접미사가 있는 버전은 다른 스레드에 의한 간섭에서 보호되지 않는 점을 제외하면 동일합니다.The versions with the _nolock suffix are identical except that they are not protected from interference by other threads.

와이드 문자 및 멀티바이트 문자를 텍스트 모드 및 이진 모드에서 처리하는 방법에 대한 자세한 내용은 텍스트 및 이진 모드에서 유니코드 스트림 I/O를 참조하세요.For more information about processing wide characters and multibyte characters in text and binary modes, see Unicode Stream I/O in Text and Binary Modes.

제네릭 텍스트 루틴 매핑Generic-Text Routine Mappings

TCHAR.H 루틴TCHAR.H routine _UNICODE 및 _MBCS 정의되지 않음_UNICODE & _MBCS not defined _MBCS 정의됨_MBCS defined _UNICODE 정의됨_UNICODE defined
_fgettc fgetc fgetc fgetwc

요구 사항Requirements

함수Function 필수 헤더Required header
fgetc <stdio.h><stdio.h>
fgetwc <stdio.h> 또는 <wchar.h><stdio.h> or <wchar.h>

호환성에 대한 자세한 내용은 소개 단원의 호환성 부분을 참조하십시오.For additional compatibility information, see Compatibility in the Introduction.

Example

// 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.txtInput: crt_fgetc.txt

Line one.  
Line two.  

출력Output

Line one.  
Line two.  

참고 항목See Also

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