¿Le resultó útil esta página?
Sus comentarios sobre este contenido son muy importantes. Háganos saber su opinión.
¿Tiene comentarios adicionales?
Caracteres restantes: 1500
_cgets, _cgetws
and
div
eof
not
or
xor
Collapse the table of content
Expand the table of content
Este artículo se tradujo de forma manual. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original

_cgets, _cgetws

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

Nota importante Importante

Esta API no se puede usar en aplicaciones que se ejecutan en Windows en tiempo de ejecución. Para obtener más información, vea Funciones de CRT no admitidas 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

buffer

Ubicación de almacenamiento de los datos.

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

Estas funciones leen una cadena de caracteres de la consola y almacenan la cadena y su longitud en la ubicación que indica buffer. El parámetro 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 va a leer. La matriz debe tener suficientes elementos para contener la cadena, un carácter de terminación nulo ('\0') y 2 bytes adicionales. La función lee los caracteres hasta una combinación de retorno de carro–salto de línea (CR-LF), o hasta que se lee el número de caracteres especificado. La cadena se almacena a partir de buffer[2]. Si la función lee una combinación CR-LF, almacena el carácter nulo ('\0'). A continuación, la función almacena la longitud real de la cadena en el segundo elemento de la matriz, buffer[1].

Dado que todas las claves de edición están activas cuando se llama a _cgets o _cgetws desde una ventana de la consola, si se presiona F3 se repite la última entrada.

En C++, estas funciones tienen sobrecargas de plantilla que invocan los homólogos seguros más recientes de estas funciones. Para obtener más información, vea Sobrecargas de plantilla seguras.

Asignaciones de rutina de texto genérico

Rutina Tchar.h

_UNICODE y _MBCS no definidos

_MBCS definido

_UNICODE definido

_cgetts

_cgets

_cgets

_cgetws

Rutina

Encabezado necesario

_cgets

<conio.h>

_cgetws

<conio.h> o <wchar.h>

Para obtener más información sobre compatibilidad, vea Compatibilidad.

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

  Una línea de entrada. Línea de entrada de texto, seguida por un retorno de carro:
Longitud de la línea = 16
Texto = Una línea de entrada.
Mostrar:
© 2015 Microsoft