Share via


gets_s, _getws_s

Obtenga una línea de la secuencia de stdin.Éstas son versiones de obtiene, los _getws con mejoras de seguridad como se describe en Características de seguridad en CRT.

char *gets_s( 
   char *buffer,
   size_t sizeInCharacters
);
wchar_t *_getws_s( 
   wchar_t *buffer,
   size_t sizeInCharacters
);
template <size_t size>
char *gets_s( 
   char (&buffer)[size]
); // C++ only
template <size_t size>
wchar_t *_getws_s( 
   wchar_t (&buffer)[size]
); // C++ only

Parámetros

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

  • [in] sizeInCharacters
    Tamaño del búfer.

Valor devuelto

Devuelve buffer si es correcto.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.

Comentarios

La función de gets_s 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_s 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_s conserva el carácter de nueva línea.

Si la lectura del primer carácter es el carácter final de archivo, un carácter null se almacena el principio de buffer y se devuelve NULL.

_getws es una versión con caracteres anchos de gets_s; el argumento y el valor devuelto son cadenas de caracteres.

Si buffer es NULL o sizeInCharacters es menor o igual que cero, o si el búfer es demasiado pequeño para contener la linea de entrada y el terminador nulo, 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 ERANGE.

En C++, mediante estas funciones es simplificado con sobrecargas de plantilla; las sobrecargas pueden deducir la longitud de búfer automáticamente (que elimina la necesidad de especificar un argumento de tamaño) y automáticamente pueden reemplazar anterior, funciones de no Secure con sus más recientes, seguros homólogos.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_s

gets_s

_getws

Requisitos

Rutina

Encabezado necesario

gets_s

<stdio.h>

_getws

<stdio.h> o <wchar.h>

La consola no se admite en las aplicaciones de Tienda Windows.Los identificadores estándar de la secuencia asociados a la consola, stdin, stdout, y stderr, deben redirigir antes de que las funciones en tiempo de ejecución de C pueden utilizarlos en las aplicaciones de Tienda Windows.Para obtener información adicional de compatibilidad, vea Compatibilidad en la Introducción.

Ejemplo

// crt_gets_s.c
// This program retrieves a string from the stdin and 
// prints the same string to the console.

#include <stdio.h>

int main( void )
{
   char line[21]; // room for 20 chars + '\0'
   gets_s( line, 20 );
   printf( "The line entered was: %s\n", line );
}
  

Equivalente en .NET Framework

System::Console::Read

Vea también

Referencia

E/S de la secuencia

gets, _getws

fgets, fgetws

fputs, fputws

puts, _putws