Compartir a través de


gets, _getws

Obtenga una línea de la secuencia de stdin.Versiones más seguras de estas funciones están disponibles; vea gets_s, _getws_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 *gets( 
   char *buffer 
);
wchar_t *_getws( 
   wchar_t *buffer 
);
template <size_t size>
char *gets( 
   char (&buffer)[size]
); // C++ only
template <size_t size>
wchar_t *_getws( 
   wchar_t (&buffer)[size]
); // C++ only

Parámetros

  • buffer
    Ubicación de almacenamiento para la cadena de entrada.

Valor devuelto

Devuelve el argumento si correctamente.Un puntero de NULL indica un error o una condición de fin de archivo.Utilice ferror o feof para determinar qué se ha producido.Si buffer es NULL, estas funciones se invoca un controlador no válido de parámetro, tal y como se describe en Validación de parámetros.Si la ejecución puede continuar, estas funciones NULL return y errno determinado a EINVAL.

Comentarios

La función de gets lee una línea de la secuencia de entrada estándar stdin y la almacena en buffer.La línea está compuesto por todos los caracteres hasta e incluir el primer carácter de nueva línea (“\ n ").gets a continuación reemplaza el carácter de nueva línea con un carácter null (“\ 0 ") antes de devolver la línea.En cambio, la función de fgets conserva el carácter de nueva línea._getws es una versión con caracteres anchos de gets; el argumento y el valor devuelto son cadenas de caracteres.

Nota de seguridadNota sobre la seguridad

Como no hay forma de limitar la lectura del número de caracteres pasa, entrada que no sea de confianza puede fácilmente producir saturaciones del búfer.Utilice fgets en su lugar.

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

_getts

gets

gets

_getws

Requisitos

Rutina

Encabezado necesario

gets

<stdio.h>

_getws

<stdio.h> o <wchar.h>

Para obtener información adicional de compatibilidad, vea Compatibilidad en la Introducción.

Ejemplo

// crt_gets.c
// compile with: /WX /W3

#include <stdio.h>

int main( void )
{
   char line[21]; // room for 20 chars + '\0'
   gets( line );  // C4996
   // Danger: No way to limit input to 20 chars.
   // Consider using gets_s instead.
   printf( "The line entered was: %s\n", line );
}

Observe que la entrada de 20 caracteres sobrará más tiempo del búfer de líneas y provocará casi seguro el programa al bloqueo.

  

Equivalente en .NET Framework

System::Console::Read

Vea también

Referencia

E/S de la secuencia

fgets, fgetws

fputs, fputws

puts, _putws