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
이 함수는 매개 변수 유효성 검사에 설명된 대로 잘못된 매개 변수 처리기를 호출합니다. 계속해서 실행하도록 허용된 경우 errno
는 EINVAL
로 설정되고 함수에서 NULL
버전입니다.
반환 코드에 대한 자세한 내용은 , , 및 를 참조하세요errno
._sys_nerr
_sys_errlist
_doserrno
설명
fgets
함수는 입력 stream
인수에서 문자열을 읽어 str
에 저장합니다. fgets
는 현재 스트림 위치에서 첫 번째 줄 바꿈 문자, 스트림의 끝 또는 읽은 문자 수가 1과 같 numChars
을 때까지 문자를 읽습니다. str
에 저장된 결과는 null 문자와 함께 추가됩니다. 줄 바꿈 문자는 읽을 경우 문자열에 포함됩니다.
fgetws
은 fgets
의 와이드 문자 버전입니다.
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.