_cgets, _cgetws

Obtiene una cadena de caracteres de la consola.Versiones más seguras de estas funciones están disponibles; vea _cgets_s, _cgetws_s.

Nota importanteImportante

Esta API no se puede utilizar en las aplicaciones que se ejecutan en tiempo de ejecución de Windows.Para obtener más información, vea Funciones CRT no compatibles con /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
    Ubicación de almacenamiento de los datos.

Valor devuelto

_cgets y _cgetws devuelven un puntero al principio de la cadena, en buffer[2].Si buffer es NULL, estas funciones se invoca el controlador no válido de parámetro, tal y como se describe en Validación de parámetros.Si la ejecución puede continuar, devuelven NULL y errno determinado a EINVAL.

Comentarios

Estas funciones leen una cadena de caracteres de la consola y almacenan la cadena y su longitud en la ubicación a la que buffer.El parámetro de buffer debe ser un puntero a una matriz de caracteres.El primer elemento de la matriz, buffer[0], debe contener la longitud máxima (en caracteres) de la cadena que se leerá.La matriz debe contener suficientes elementos para contener la cadena, un carácter null de terminación (“\ 0 "), y 2 bytes adicionales.La función lee los caracteres hasta una combinación de fuente de la retorno- línea de carro (CR-LF) o se lee el número de caracteres especificado.La cadena es el iniciar almacenado en buffer[2].Si la función lee un CR-LF, almacena el carácter null (“\ 0 ").La función después almacena la longitud real de la cadena en el segundo elemento de matriz, buffer[1].

Dado que todas las claves de edición están activos cuando _cgets o _cgetws se denomina mientras en una ventana de consola, presione la F3 repite la entrada última.

En C++, estas funciones tienen sobrecargas de plantilla que se invoque según el nuevo, garantiza que sus homólogos de estas funciones.Para obtener más información, vea Sobrecargas de plantilla de seguridad.

Asignaciones de la rutina de Genérico- texto

Rutina de Tchar.h

_UNICODE y _MBCS no definidos

_MBCS definido

_UNICODE definido

_cgetts

_cgets

_cgets

_cgetws

Requisitos

Rutina

Encabezado necesario

_cgets

<conio.h>

_cgetws

<conio.h> o <wchar.h>

Para obtener más información de compatibilidad, vea Compatibilidad en la Introducción.

Ejemplo

// 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 );
   }
}
  

Vea también

Referencia

E/S de la consola y de puerto

_getch, _getwch