_cgets_s, _cgetws_s
Obtém uma seqüência de caractere a partir do console.Esta é uma versão de _cgets e _cgetws com aprimoramentos de segurança sistema autônomo descrito em Aprimoramentos de segurança no CRT.
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
[out] buffer
Local de armazenamento de dados.[in]numberOfElements
O dimensionar do buffer em caracteres de byte único ou de longa distância, que também é o número máximo de caracteres a serem lidos.[in]pSizeRead
O número de caracteres realmente lidos.
Valor de retorno
O valor retornado será zero se for bem-sucedida; um código de erro se ocorrer uma falha.
Condições de erro
buffer |
numberOfElements |
pSizeRead |
Return |
Sumário de buffer |
---|---|---|---|---|
NULL |
any |
any |
EINVAL |
n/d |
not NULL |
zero |
any |
EINVAL |
não modificado |
not NULL |
any |
NULL |
EINVAL |
cadeia de comprimento zero |
Comentários
_cgets_s e _cgetws_s ler uma seqüência a partir do console e copie a seqüência de caracteres (com um terminador nulo) buffer. _cgetws_s é a versão de caractere largo da função; diferente é idêntico ao dimensionar de caractere, o comportamento dessas duas funções. O dimensionar máximo da seqüência de caracteres a ser lido é passado sistema autônomo o numberOfElements parâmetro. Esse dimensionar deve incluir um caractere para a terminação nula extra.O número real de caracteres de leitura é colocado em pSizeRead.
Se ocorrer um erro durante a operação ou na validação de parâmetros, o manipulador de parâmetro inválido é chamado, conforme descrito em Validação de parâmetro . Se a execução for permitida para continuar, errno é definido como EINVAL e EINVAL será retornado.
No C++, usando essas funções é simplificado pelo modelo sobrecargas; sobrecargas de podem inferir o comprimento do buffer automaticamente (eliminando a necessidade de especificar um argumento de dimensionar) e eles podem substituir automaticamente funções não seguras, mais antigas, com suas contrapartes mais recentes e seguras.For more information, see Proteger overloads de modelo.
Mapeamentos de rotina de texto genérica
Rotina tchar.h |
_UNICODE e _MBCS não definido |
_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 na introdução.
Equivalente do NET Framework
Não aplicável. Para telefonar a função C padrão, use PInvoke. Para obter mais informações, consulte Exemplos de invocação de plataforma.