Compartilhar via


_cgets_s, _cgetws_s

Obtém uma cadeia de caracteres do console. Essas versões de _cgets e _cgetws têm os aprimoramentos de segurança, conforme descrito em Recursos de segurança no CRT.

Importante

Não é possível usar essa API em aplicativos executados no Tempo de Execução do Windows.Para obter mais informações, consulte Funções CRT sem suporte pelo /ZW.

errno_t _cgets_s( 
   char *buffer,
   size_t numberOfElements,
   size_t *pSizeRead
);
errno_t _cgetws_s(
   wchar_t *buffer
   size_t numberOfElements,
   size_t *pSizeRead
);
template <size_t size>
errno_t _cgets_s( 
   char (&buffer)[size],
   size_t *pSizeRead
); // C++ only
template <size_t size>
errno_t _cgetws_s(
   wchar_t (&buffer)[size],
   size_t *pSizeRead
); // C++ only

Parâmetros

  • [saída] buffer
    Local para armazenamento de dados.

  • [entrada] numberOfElements
    O tamanho do buffer em um byte ou em caracteres amplos, que também é o número máximo de caracteres a serem lidos.

  • [entrada] pSizeRead
    O número de caracteres realmente lidos.

Valor de retorno

O valor de retorno será nulo se bem-sucedido; caso contrário, um código de erro se ocorrer uma falha.

Condições de erro

buffer

numberOfElements

pSizeRead

Return

Conteúdo de buffer

NULL

any

any

EINVAL

n/d

não NULL

zero

any

EINVAL

não modificado

não NULL

any

NULL

EINVAL

cadeia de caracteres de comprimento zero

Comentários

_cgets_s e _cgetws_s leu uma cadeia de caracteres de console e copia a cadeia de caracteres (com um terminador nulo) em buffer. _cgetws_s é a versão ampla de caracteres de função; a não ser o tamanho de caractere, o comportamento dessas duas funções são idênticos. O tamanho máximo da cadeia de caracteres a ser lida é passado como o parâmetro de numberOfElements . Esse tamanho deve incluir um caractere adicional para o encerramento zero. O número real de caracteres é colocado em pSizeRead.

Se ocorrer um erro durante a operação ou validação dos parâmetros, o manipulador inválido do parâmetro será chamado, conforme descrito em Validação do parâmetro . Se a execução for permitida continuar, errno está definido como EINVAL e EINVAL é retornado.

Em C++, o uso dessas funções é simplificado por sobrecargas do modelo; as sobrecargas pode deduzir o comprimento do buffer automaticamente, assim eliminando a necessidade de especificar um argumento de tamanho, e podem substituir automaticamente mais antigos, funções de menos segura com suas contrapartes mais novos, o mais seguro. Para obter mais informações, consulte Sobrecargas de modelo seguras.

Mapeamentos da rotina de texto genérico

Rotina Tchar.h

_UNICODE e _MBCS não definidos

_MBCS definido

_UNICODE definido

_cgetts_s

_cgets_s

_cgets_s

_cgetws_s

Requisitos

Rotina

Cabeçalho necessário

_cgets_s

<conio.h>

_cgetws_s

<conio.h> ou <wchar.h>

Para obter mais informações de compatibilidade, consulte Compatibilidade.

Equivalência do .NET Framework

Não aplicável. Para chamar a função padrão de C, use PInvoke. Para obter mais informações, consulte Exemplos de invocação de plataforma.

Consulte também

Referência

Console e E/S de porta

_getch, _getwch