다음을 통해 공유


_cgets, _cgetws

콘솔에서 문자열을 가져옵니다. 이러한 기능의 더 안전한 버전을 사용할 수 있습니다. _cgets_s, _cgetws_s를 참조하십시오.

중요

이 API는 Windows 런타임에서 실행되는 응용 프로그램에서 사용할 수 없습니다.자세한 내용은 /ZW에서 지원하지 않는 CRT 함수를 참조하십시오.

char *_cgets( 
   char *buffer 
);
wchar_t *_cgetws(
   wchar_t *buffer
);
template <size_t size>
char *_cgets( 
   char (&buffer)[size]
); // C++ only
template <size_t size>
wchar_t *_cgetws(
   wchar_t (&buffer)[size]
); // C++ only

매개 변수

  • buffer
    출력을 위한 저장소 위치

반환 값

_cgets 및 _cgetws 는 문자열의 시작에 대 한 포인터를 buffer[2] 에서 반환합니다. 만일 buffer 는 NULL인 경우, 이러한 함수는 매개 변수 유효성 검사 에 설명된 대로 잘못된 매개 변수 처리기를 호출합니다. 계속해서 실행하도록 허용된 경우, 이러한 함수는 NULL 를 반환하고 errno 를 EINVAL로 설정합니다.

설명

이러한 함수 콘솔에서 문자열을 읽고 문자열과 길이가 가리키는 위치에 buffer 을 저장합니다. buffer 매개 변수는 문자 배열에 대한 포인터여야 합니다. 배열의 첫 번째 요소 buffer[0], 은 문자 단위로 최대 길이의 문자열을 읽을 수 있어야 합니다. 배열은 문자열, 종료 null 문자 ('\0'), 및 2 추가 바이트를 저장할 충분 한 요소를 포함 해야 합니다. 이 함수는 캐리지 return–line 바꿈 (CR-LF) 조합 또는 지정한 수의 문자를 읽을 때까지 문자를 읽습니다. 시작 하는 문자열이 buffer[2] 에 저장 됩니다 함수는 CR LF를 읽고, null 문자 ('\0')를 저장 합니다. 함수는 다음 문자열의 실제 길이인 두 번째 배열 요소 buffer[1] 에 저장됩니다.

모든 편집 키가 활성화 되므로 _cgets 또는_cgetws 호출될 때, 콘솔 창에서 F3 키를 눌러 마지막 입력한 항목을 반복합니다.

C++에서 이러한 함수는 보다 최신의 보안 대응 함수를 호출하는 템플릿 오버로드를 갖고 있습니다. 자세한 내용은 안전한 템플릿 오버로드을 참조하십시오.

제네릭 텍스트 라우팅 매핑

Tchar.h 루틴

_UNICODE 및 _MBCS 정의되지 않음

_MBCS 정의됨

_UNICODE 정의됨

_cgetts

_cgets

_cgets

_cgetws

요구 사항

루틴

필수 헤더

_cgets

<conio.h>

_cgetws

<conio.h> 또는 <wchar.h>

호환성 정보에 대한 자세한 내용은 호환성을 참조하십시오.

예제

// crt_cgets.c
// compile with: /c /W3
// This program creates a buffer and initializes
// the first byte to the size of the buffer. Next, the
// program accepts an input string using _cgets and displays
// the size and text of that string.
 
#include <conio.h>
#include <stdio.h>
#include <errno.h>

int main( void )
{
   char buffer[83] = { 80 };  // Maximum characters in 1st byte
   char *result;

   printf( "Input line of text, followed by carriage return:\n");

   // Input a line of text:
   result = _cgets( buffer ); // C4996
   // Note: _cgets is deprecated; consider using _cgets_s
   if (!result)
   {
      printf( "An error occurred reading from the console:"
              " error code %d\n", errno);
   }
   else
   {   
      printf( "\nLine length = %d\nText = %s\n",
              buffer[1], result );
   }
}
  

참고 항목

참조

콘솔 및 포트 I/O

_getch, _getwch