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.
![]() |
---|
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.
![]() |
---|
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.