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 오류와 파일 끝 조건을 구별할 수 있습니다.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. 경우 스트림NULL, 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

연결 된 파일의 현재 위치에서 단일 문자를 읽고 이러한 각 함수 스트림합니다.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.

fgetc 같습니다 getc, 하지만 함수를 표현 되지 않고 함수와 매크로로 구현 됩니다.fgetc is equivalent to getc, but is implemented only as a function, rather than as a function and a macro.

fgetwc 은의 와이드 문자 버전 fgetc; 읽어 c 멀티 바이트 문자 또는 와이드 문자 열리는지에 따라 스트림 에서 열릴 텍스트 모드 또는 이진 모드로 합니다.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_fgettc fgetcfgetc fgetcfgetc fgetwcfgetwc

요구 사항Requirements

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

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

예제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/OStream I/O
fputc, fputwcfputc, fputwc
getc, getwcgetc, getwc