fgets, fgetwsfgets, fgetws

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

구문Syntax

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

매개 변수Parameters

strstr
데이터의 저장소 위치입니다.Storage location for data.

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

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

반환 값Return 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 하거나 스트림을 가 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. 실행을 계속 하도록 허용 된 경우 errno 로 설정 된 EINVAL 고 함수가 반환 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.

설명Remarks

합니다 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.

fgetws 의 와이드 문자 버전이 fgets합니다.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.

제네릭 텍스트 루틴 매핑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>

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

예제Example

// 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" );
      else
         printf( "%s", line);
      fclose( stream );
   }
}

입력 crt_fgets.txtInput: crt_fgets.txt

Line one.
Line two.

출력Output

Line one.

참고자료See also

스트림 I/OStream I/O
fputs, fputwsfputs, fputws
gets, _getwsgets, _getws
puts, _putwsputs, _putws