다음을 통해 공유


fgets, fgetws

스트림에서 문자열을 가져옵니다.

구문

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

매개 변수

str
데이터의 스토리지 위치입니다.

numChars
읽을 최대 문자 수입니다.

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

반환 값

이러한 각 함수는 str를 반환합니다. NULL은 오류 또는 파일 끝 조건을 나타내기 위해 반환됩니다. 오류가 발생했는지 여부를 확인하려면 feof 또는 ferror를 사용합니다. null 포인터이거나 stream 0보다 작거나 numChars 같은 경우 str 이 함수는 매개 변수 유효성 검사에 설명된 대로 잘못된 매개 변수 처리기를 호출합니다. 계속해서 실행하도록 허용된 경우 errnoEINVAL 로 설정되고 함수에서 NULL버전입니다.

반환 코드에 대한 자세한 내용은 , , 및 를 참조하세요errno._sys_nerr_sys_errlist_doserrno

설명

fgets 함수는 입력 stream 인수에서 문자열을 읽어 str에 저장합니다. fgets 는 현재 스트림 위치에서 첫 번째 줄 바꿈 문자, 스트림의 끝 또는 읽은 문자 수가 1과 같 numChars 을 때까지 문자를 읽습니다. str에 저장된 결과는 null 문자와 함께 추가됩니다. 줄 바꿈 문자는 읽을 경우 문자열에 포함됩니다.

fgetwsfgets의 와이드 문자 버전입니다.

fgetws는 각각 텍스트 모드 또는 이진 모드에서 열릴 때 stream 와이드 문자 인수 str 를 멀티바이트 문자열 또는 와이드 문자열로 읽습니다. 유니코드 및 멀티바이트 stream-I/O에서 텍스트 및 이진 모드를 사용하는 방법에 대한 자세한 내용은 텍스트 및 이진 모드의 텍스트 및 이진 모드 파일 I/O유니코드 스트림 I/O를 참조하세요.

기본적으로 이 함수의 전역 상태는 애플리케이션으로 범위가 지정됩니다. 이 동작을 변경하려면 CRT 전역 상태를 참조하세요.

일반 텍스트 루틴 매핑

TCHAR.H 루틴 _UNICODE_MBCS 정의되지 않음 정의된 _MBCS 정의된 _UNICODE
_fgetts fgets fgets fgetws

요구 사항

함수 필수 헤더
fgets <stdio.h>
fgetws <stdio.h> 또는 <wchar.h>

호환성에 대한 자세한 내용은 호환성을 참조하세요.

예시

// 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.txt

Line one.
Line two.

출력

Line one.

참고 항목

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