_cgets_s, _cgetws_s
Obtém uma cadeia de caracteres de console.Essas versões de _cgets e _cgetws têm aprimoramentos de segurança, como descrito em Recursos de segurança no CRT.
Importante |
---|
Este API não pode ser usado em aplicativos executados em Tempo de Execução do Windows.Para obter mais informações, consulte Funções de CRT não suportadas com /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
[out] buffer
Local de armazenamento de dados.[in] numberOfElements
O tamanho do buffer no único byte ou caracteres de largura, que também é o número máximo de caracteres a ser lidos.[in] pSizeRead
O número de caracteres realmente lida.
Valor de retorno
O valor de retorno é zero se com êxito; caso contrário, um código de erro ocorre se uma falha.
Condições de erro
buffer |
numberOfElements |
pSizeRead |
Return |
Conteúdo de buffer |
---|---|---|---|---|
NULL |
alguns |
alguns |
EINVAL |
n/d |
não NULL |
zero |
alguns |
EINVAL |
não modificado |
não NULL |
alguns |
NULL |
EINVAL |
cadeia de caracteres de comprimento zero |
Comentários
_cgets_s e _cgetws_s ler uma cadeia de caracteres de console e copia a cadeia de caracteres (zero) com um terminador em buffer._cgetws_s é a versão abrangente de caracteres de função; a não ser o tamanho de caractere, o comportamento dessas duas funções é idêntico.O tamanho máximo de cadeia de caracteres a ser lido é passado como parâmetro de numberOfElements .Este tamanho deve incluir um caractere de terminação adicional para o zero.O número real de caracteres é colocado em pSizeRead.
Se ocorrer um erro durante a operação ou validar de parâmetros, o manipulador inválido do parâmetro é invocado, como descrito em Validação de parâmetro .Se a execução é permitida continuar, errno é definido como EINVAL e EINVAL é retornado.
Em C++, o uso dessas funções é simplificado por sobrecargas de modelo; as sobrecargas podem interpretar o tamanho do buffer automaticamente dessa maneira, eliminando a necessidade para especificar um argumento de tamanho, e podem automaticamente substituir mais antigos, funções de menos segura com suas contrapartes mais recentes, mais seguros.Para obter mais informações, consulte Proteger Overloads de modelo.
Mapeamentos da rotina de Genérico- texto
Rotina de Tchar.h |
_UNICODE e não definidos _MBCS |
_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 mais informações, consulte Compatibilidadede 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.