Compartilhar via


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

Observação importanteImportante

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.

Consulte também

Referência

Console e a porta de e/S

_getch, _getwch