_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.