Exportar (0) Imprimir
Expandir todo
and
div
eof
not
or
xor
Expandir Minimizar
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

gets, _getws

Obtiene una línea del flujo stdin. Hay disponibles versiones más seguras de estas funciones; vea gets_s, _getws_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 *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

buffer

Ubicación de almacenamiento de la cadena de entrada.

Devuelve su argumento si se realiza correctamente. Un puntero NULL indica un error o una condición de fin de archivo. Utilice ferror o feof para determinar qué resultado se ha producido. Si buffer es NULL, estas funciones invocan un controlador de parámetros no válidos, como se describe en Validación de parámetros. Si la ejecución puede continuar, estas funciones devuelven NULL y establecen errno en EINVAL.

La función gets lee una línea del flujo de entrada estándar stdin y la almacena en buffer. La línea consta de todos los caracteres hasta el primer carácter de línea nueva ('\n'), este último incluido. A continuación, gets reemplaza el carácter de línea nueva con un carácter nulo ('\0') antes de devolver la línea. Por su parte, la función fgets conserva el carácter de línea nueva. _getws es una versión con caracteres anchos de gets; el argumento y el valor devuelto son cadenas de caracteres anchos.

Nota de seguridad Nota sobre la seguridad

No hay forma de limitar el número de caracteres que gets lee, por lo que una entrada que no sea de confianza puede producir fácilmente saturaciones del búfer. Utilice fgets en su lugar.

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

_getts

gets

gets

_getws

Rutina

Encabezado necesario

gets

<stdio.h>

_getws

<stdio.h> o <wchar.h>

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

// 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 una entrada de más 20 caracteres saturará el búfer de líneas y provocará casi con seguridad que el programa se bloquee.


  ¡Hola allí! La línea que se especificó fue: Hello there!

Adiciones de comunidad

AGREGAR
Mostrar:
© 2015 Microsoft