Compartilhar via


_cgets, _cgetws

Obtém uma cadeia de caracteres de console.Versões mais seguros dessas funções estão disponíveis; consulte _cgets_s, _cgetws_s.

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.

char *_cgets( char *buffer ); wchar_t *_cgetws( wchar_t *buffer ); template <size_t size> char *_cgets( char (&buffer)[size] ); // C++ only template <size_t size> wchar_t *_cgetws( wchar_t (&buffer)[size] ); // C++ only

Parâmetros

  • buffer
    Local de armazenamento de dados.

Valor de retorno

_cgets e _cgetws retornam um ponteiro para o início da cadeia de caracteres, em buffer[2].Se buffer é NULL, essas funções chamam o manipulador de parâmetro inválido, como descrito em Validação de parâmetro.Se a execução é permitida continuar, retorna NULL e errno defina a EINVAL.

Comentários

Essas funções ler uma cadeia de caracteres de console e armazenam a cadeia de caracteres e seu tamanho no local apontado por buffer.O parâmetro de buffer deve ser um ponteiro para uma matriz de caracteres.O primeiro elemento da matriz, buffer[0], deve conter o comprimento máximo de caracteres () de cadeia de caracteres a ser lido.A matriz deve conter elementos suficientes para armazenar a cadeia de caracteres, um caractere de terminação nulo (“\ \ "), 0 e 2 bytes adicionais.A função lê caracteres até que uma linha retorno- combinação de carro de avanço CR-LF () ou número especificado de caracteres é lido.A cadeia de caracteres começar é armazenado em buffer[2].Se a função lê um CR-LF, armazena o caractere nulo (“\ 0 ").A função armazena no comprimento real da cadeia de caracteres no segundo elemento da matriz, buffer[1].

Como todas as chaves de edição são ativos quando _cgets ou_cgetws são chamados quando em uma janela de console, pressionando a tecla F3 repete a entrada inserido a última vez.

Em C++, essas funções têm as sobrecargas de modelo que chamam as novas contrapartes mais seguros, essas funções.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

_cgets

_cgets

_cgetws

Requisitos

Rotina

Cabeçalho necessário

_cgets

<conio.h>

_cgetws

<conio.h> ou <wchar.h>

Para mais informações, consulte Compatibilidade de compatibilidade na introdução.

Exemplo

// crt_cgets.c
// compile with: /c /W3
// This program creates a buffer and initializes
// the first byte to the size of the buffer. Next, the
// program accepts an input string using _cgets and displays
// the size and text of that string.
 
#include <conio.h>
#include <stdio.h>
#include <errno.h>

int main( void )
{
   char buffer[83] = { 80 };  // Maximum characters in 1st byte
   char *result;

   printf( "Input line of text, followed by carriage return:\n");

   // Input a line of text:
   result = _cgets( buffer ); // C4996
   // Note: _cgets is deprecated; consider using _cgets_s
   if (!result)
   {
      printf( "An error occurred reading from the console:"
              " error code %d\n", errno);
   }
   else
   {   
      printf( "\nLine length = %d\nText = %s\n",
              buffer[1], result );
   }
}
  

Consulte também

Referência

Console e a porta de e/S

_getch, _getwch