Compartir a través de


_cgets_s, _cgetws_s

Obtiene una cadena de caracteres de la consola.Estas versiones de _cgets y _cgetws tienen mejoras de seguridad, como se describe en Características de seguridad en CRT.

Nota importanteImportante

Esta API no se puede utilizar en las aplicaciones que se ejecutan en Windows en tiempo de ejecución.Para obtener más información, vea Funciones CRT no compatibles con /ZW.

errno_t _cgets_s( 
   char *buffer,
   size_t numberOfElements,
   size_t *pSizeRead
);
errno_t _cgetws_s(
   wchar_t *buffer
   size_t numberOfElements,
   size_t *pSizeRead
);
template <size_t size>
errno_t _cgets_s( 
   char (&buffer)[size],
   size_t *pSizeRead
); // C++ only
template <size_t size>
errno_t _cgetws_s(
   wchar_t (&buffer)[size],
   size_t *pSizeRead
); // C++ only

Parámetros

  • [out] buffer
    Ubicación de almacenamiento de los datos.

  • [in] numberOfElements
    El tamaño del búfer en el solo- bytes o caracteres anchos, que también es el número máximo de caracteres que se leerá.

  • [in] pSizeRead
    El número de caracteres leídos realmente.

Valor devuelto

El valor devuelto es cero si correctamente; si no, un código de error si se produce un error.

Condiciones de error

buffer

numberOfElements

pSizeRead

Return

Contenido de buffer

NULL

any

any

EINVAL

no disponible

no NULL

cero

any

EINVAL

no modificado

no NULL

any

NULL

EINVAL

cadena de longitud cero

Comentarios

_cgets_s y _cgetws_s leen una cadena de la consola y copie la cadena (con un terminador nulo) en buffer._cgetws_s constituye la versión con caracteres anchos de la función; distinto del tamaño de carácter, el comportamiento de estas dos funciones son idénticos.El tamaño máximo de la cadena que se leerá se pasa como el parámetro de numberOfElements.Este tamaño debe incluir un carácter adicional para la null final.Lectura real del número de caracteres se coloca en pSizeRead.

Si se produce un error durante la operación o en validar de los parámetros, se invoca el controlador no válido de parámetro, tal y como se describe en Validación de parámetros.Si la ejecución puede continuar, errno se establece en EINVAL y se devuelve EINVAL.

En C++, el uso de estas funciones es simplificado con sobrecargas de plantilla; las sobrecargas pueden deducir longitud de búfer automáticamente, con lo que elimina la necesidad de especificar un argumento size, y automáticamente pueden reemplazar anterior, funciones de menos- Secure con sus más recientes, más 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

_cgetts_s

_cgets_s

_cgets_s

_cgetws_s

Requisitos

Rutina

Encabezado necesario

_cgets_s

<conio.h>

_cgetws_s

<conio.h> o <wchar.h>

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

Equivalente en .NET Framework

No es aplicable Para llamar a la función estándar de C, utilice PInvoke. Para obtener más información, vea Ejemplos de invocación de plataforma.

Vea también

Referencia

E/S de la consola y de puerto

_getch, _getwch