fgets, fgetwsfgets, fgetws

스트림에서 문자열을 가져옵니다.Get a string from a stream.


char *fgets(
   char *str,
   int numChars,
   FILE *stream
wchar_t *fgetws(
   wchar_t *str,
   int numChars,
   FILE *stream

매개 변수Parameters

데이터의 스토리지 위치입니다.Storage location for data.

읽을 최대 문자 수입니다.Maximum number of characters to read.

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

Return ValueReturn Value

이러한 각 함수는 str을 반환 합니다.Each of these functions returns str. 오류 또는 파일 끝 조건을 나타내기 위해 NULL 이 반환 됩니다.NULL is returned to indicate an error or an end-of-file condition. Feof ferror 를 사용 하 여 오류가 발생 했는지 여부를 확인 합니다.Use feof or ferror to determine whether an error occurred. Str 또는 stream 이 null 포인터 이거나 numChars 가 0 보다 작거나 같으면이 함수는 매개 변수 유효성 검사에 설명 된 대로 잘못 된 매개 변수 처리기를 호출 합니다.If str or stream is a null pointer, or numChars is less than or equal to zero, this function invokes the invalid parameter handler, as described in Parameter Validation. 계속 해 서 실행 하도록 허용한 경우 errnoEINVAL 로 설정 되 고 함수는 NULL을 반환 합니다.If execution is allowed to continue, errno is set to EINVAL and the function returns NULL.

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


Fgets 함수는 입력 스트림 인수에서 문자열을 읽어 str에 저장 합니다.The fgets function reads a string from the input stream argument and stores it in str. fgets 는 현재 스트림 위치에서 첫 번째 줄 바꿈 문자를 포함 하 여 스트림의 끝까지 또는 읽은 문자 수가 numChars -1과 같을 때까지 (둘 중 먼저 도달할 때까지) 문자를 가져옵니다.fgets reads characters from the current stream position to and including the first newline character, to the end of the stream, or until the number of characters read is equal to numChars - 1, whichever comes first. Str 에 저장 된 결과는 null 문자와 함께 추가 됩니다.The result stored in str is appended with a null character. 줄 바꿈 문자는 읽을 경우 문자열에 포함됩니다.The newline character, if read, is included in the string.

fgetwsfto의 와이드 문자 버전입니다.fgetws is a wide-character version of fgets.

fgetws스트림을 텍스트 모드에서 열지 아니면 이진 모드로 열지에 따라 와이드 문자 인수 str 를 멀티 바이트 문자열 또는 와이드 문자열로 읽습니다.fgetws reads the wide-character argument str as a multibyte-character string or a wide-character string according to whether stream is opened in text mode or binary mode, respectively. 텍스트 및 이진 모드를 유니코드 및 멀티바이트 스트림 I/O에서 사용하는 방법에 대한 자세한 내용은 텍스트 및 이진 모드 파일 I/O텍스트 및 이진 모드의 유니코드 스트림 I/O를 참조하세요.For more information about using text and binary modes in Unicode and multibyte stream-I/O, see Text and Binary Mode File I/O and Unicode Stream I/O in Text and Binary Modes.

기본적으로이 함수의 전역 상태는 응용 프로그램으로 범위가 지정 됩니다.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
_fgetts_fgetts fgetsfgets fgetsfgets fgetwsfgetws

요구 사항Requirements

기능Function 필수 헤더Required header
fgetsfgets <stdio.h><stdio.h>
fgetwsfgetws <stdio.h> 또는 <wchar.h><stdio.h> or <wchar.h>

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


// crt_fgets.c
// This program uses fgets to display
// the first line from a file.

#include <stdio.h>

int main( void )
   FILE *stream;
   char line[100];

   if( fopen_s( &stream, "crt_fgets.txt", "r" ) == 0 )
      if( fgets( line, 100, stream ) == NULL)
         printf( "fgets error\numChars" );
         printf( "%s", line);
      fclose( stream );

입력 crt_fgets.txtInput: crt_fgets.txt

Line one.
Line two.


Line one.

참조See also

스트림 I/OStream I/O
fputs, fputwsfputs, fputws
_getws를 가져옵니다.gets, _getws
puts, _putwsputs, _putws