다음을 통해 공유


gets_s에 _getws_s

한 회선에서 stdin 스트림.이러한 버전의 수 _getws를 가져옵니다 에 설명 된 대로 보안 향상 기능을 CRT의 보안 기능.

char *gets_s( 
   char *buffer,
   size_t sizeInCharacters
);
wchar_t *_getws_s( 
   wchar_t *buffer,
   size_t sizeInCharacters
);
template <size_t size>
char *gets_s( 
   char (&buffer)[size]
); // C++ only
template <size_t size>
wchar_t *_getws_s( 
   wchar_t (&buffer)[size]
); // C++ only

매개 변수

  • [out] buffer
    입력된 문자열에 대 한 저장소 위치입니다.

  • [in] sizeInCharacters
    버퍼의 크기입니다.

반환 값

성공하면 buffer를 반환합니다.A NULL 포인터는 파일의 끝 또는 오류 조건을 나타냅니다.사용 ferror 또는 feof 어떤 것이 발생 했는지 확인 합니다.

설명

gets_s 함수가 표준 입력된 스트림에서 줄을 읽고 stdin 에 저장 하 고 buffer.줄의 모든 문자를 포함 하는 첫 번째 줄 바꿈 문자 ('\n')로 구성 됩니다.gets_s다음 줄 바꿈 문자가 줄을 반환 하기 전에 null 문자 ('\0')을 대체 합니다.반면에 fgets_s 함수는 줄 바꿈 문자를 유지 합니다.

읽기 첫 번째 문자 파일 끝 문자가 있으면 null 문자 시작 부분에 저장 된 buffer 및 NULL 반환 됩니다.

_getws와이드 문자 버전인 gets_s. 인수 및 반환 값의 와이드 문자 문자열입니다.

경우 buffer 는 NULL 또는 sizeInCharacters 0 보다 작거나 또는 입력 선과 null 종결자를 포함 하는 버퍼가 너무 작습니다 경우 이러한 함수는 잘못 된 매개 변수 처리기의 설명에 따라 호출 매개 변수 유효성 검사.이러한 함수는 실행을 계속 하도록 허용 된 경우, 반환 NULL 로 errno를 설정 하 고 ERANGE.

C + +에서는 이러한 함수를 사용 하 여 템플릿 오버 로드에 의해 단순화 됩니다. 오버 로드에서 버퍼 길이 자동으로 유추할 수 있습니다 (size 인수를 지정할 필요가 없도록) 및 해당 최신, 안전한 이미지와 이전, 안전 하지 않은 함수가 자동으로 바꿀 수 있습니다.자세한 내용은 보안 템플릿 오버 로드을 참조하십시오.

일반 텍스트 루틴 매핑

TCHAR입니다.H 루틴

_UNICODE 및 _Mbcs가 정의 되어 있지 않습니다

_Mbcs가 정의

_Unicode가 정의

_getts

gets_s

gets_s

_getws

요구 사항

루틴

필수 헤더

gets_s

<stdio.h>

_getws

<stdio.h> 또는 <wchar.h>

콘솔에서 지원 되지 않습니다 Windows 스토어 응용 프로그램입니다.콘솔에 연결 된 표준 스트림 핸들 stdin, stdout, 및 stderr, C 런타임 함수를 사용 하기 전에 이동 해야 Windows 스토어 응용 프로그램입니다.추가 호환성 정보를 참조 하십시오. 호환성 소개에서 합니다.

예제

// crt_gets_s.c
// This program retrieves a string from the stdin and 
// prints the same string to the console.

#include <stdio.h>

int main( void )
{
   char line[21]; // room for 20 chars + '\0'
   gets_s( line, 20 );
   printf( "The line entered was: %s\n", line );
}
  

해당 .NET Framework 항목

System::Console::Read

참고 항목

참조

스트림 I/O

gets, _getws

fgets, fgetws

fputs, fputws

_putws 배치