fgets, fgetwsfgets, fgetws

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


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

매개 변수Parameters

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

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

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 또는 stream이 null 포인터이거나 n이 0보다 작거나 같으면 이 함수는 매개 변수 유효성 검사에 설명된 대로 잘못된 매개 변수 처리기를 호출합니다.If str or stream is a null pointer, or n 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 함수는 입력 stream 인수에서 문자열을 읽어 str에 저장합니다.The fgets function reads a string from the input stream argument and stores it in str. fgets 첫 번째 줄 바꿈 문자 나타날 경우 현재 스트림 위치에서 읽은 문자 수가 같은지를 때까지 또는 스트림의 끝에 문자를 읽고 n -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 n - 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.

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

fgetwsstr이 텍스트 모드로 열리는지, 아니면 이진 모드로 열리는지에 따라 와이드 문자 인수 stream을 각각 멀티바이트 문자열 또는 와이드 문자열로 읽습니다.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 fgets fgets fgetws

요구 사항Requirements

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

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


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

#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\n" );  
         printf( "%s", line);  
      fclose( stream );  

입력 crt_fgets.txtInput: crt_fgets.txt

Line one.  
Line two.  


Line one.  

참고 항목See Also

스트림 I/O Stream I/O
fputs, fputws fputs, fputws
gets, _getws gets, _getws
puts, _putwsputs, _putws