_strtime_s, _wstrtime_s
Copie la hora actual en un búfer.Éstas son versiones de _strtime, _wstrtime con mejoras de seguridad como se describe en Características de seguridad en CRT.
errno_t _strtime_s(
char *buffer,
size_t numberOfElements
);
errno_t _wstrtime_s(
wchar_t *buffer,
size_t numberOfElements
);
template <size_t size>
errno_t _strtime_s(
char (&buffer)[size]
); // C++ only
template <size_t size>
errno_t _wstrtime_s(
wchar_t (&buffer)[size]
); // C++ only
Parámetros
[out] buffer
Un búfer, por lo menos 10 bytes de longitud, donde el tiempo se escribirá.[in] numberOfElements
Tamaño del búfer.
Valor devuelto
cero si correctamente.
Si una condición de error, se invoca el controlador no válido de parámetro, tal y como se describe en Validación de parámetros.el valor devuelto es un código de error si hay un error.Los códigos de error se definen en ERRNO.H; vea la tabla siguiente para los errores exactos generados por esta función.Para obtener más información sobre los códigos de error, vea constantes de errno.
condiciones de error
buffer |
numberOfElements |
Return |
Contenido de buffer |
---|---|---|---|
NULL |
(ninguno) |
EINVAL |
no modificado |
No NULL (del búfer válido) |
0 |
EINVAL |
no modificado |
No NULL (del búfer válido) |
0 Tamaños < 9 de < |
EINVAL |
Cadena vacía |
No NULL (del búfer válido) |
Tamaño > 9 |
0 |
Hora actual con formato como se especifica en las notas |
problemas de seguridad
Se pasa un valor NULL no válido para el búfer producirá una infracción de acceso si el parámetro de numberOfElements es mayor que 9.
Pasar un valor para numberOfElements mayor que el tamaño real del búfer dará lugar a la saturación del búfer.
Comentarios
estas funciones proporcionan versiones más seguras de _strtime y de _wstrtime.La función de _strtime_s copia la hora local actual en el búfer indicada por timestr*.* El tiempo se le da formato a hh:mm:ss donde dos dígitos hh que representan la hora en la notación de 24 horas, mm es dos dígitos que representan los minutos más allá de la hora, y ss es dos dígitos que representan segundos.por ejemplo, la cadena 18:23:44 representa 23 minutos y 44 segundos más allá 6 de la tarde.El búfer debe ser por lo menos 9 bytes de longitud; el tamaño real es especificado por el segundo parámetro.
_wstrtime es una versión con caracteres anchos de _strtime; el argumento y el valor devuelto de _wstrtime son cadenas de caracteres.Estas funciones se comportan exactamente igual de otra manera.
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 con sus más recientes, seguros homólogos.Para obtener más información, vea Sobrecargas de plantilla de seguridad.
Asignación rutinaria de texto genérico:
rutina de TCHAR.H |
_UNICODE y _MBCS no definido |
_MBCS definido |
_UNICODE definido |
---|---|---|---|
_tstrtime_s |
_strtime_s |
_strtime_s |
_wstrtime_s |
Requisitos
rutina |
Encabezado necesario |
---|---|
_strtime_s |
<time.h> |
_wstrtime_s |
<time.h> o <wchar.h> |
Para obtener información adicional de compatibilidad, vea compatibilidad en la Introducción.
Ejemplo
// strtime_s.c
#include <time.h>
#include <stdio.h>
int main()
{
char tmpbuf[9];
errno_t err;
// Set time zone from TZ environment variable. If TZ is not set,
// the operating system is queried to obtain the default value
// for the variable.
//
_tzset();
// Display operating system-style date and time.
err = _strtime_s( tmpbuf, 9 );
if (err)
{
printf("_strdate_s failed due to an invalid argument.");
exit(1);
}
printf( "OS time:\t\t\t\t%s\n", tmpbuf );
err = _strdate_s( tmpbuf, 9 );
if (err)
{
printf("_strdate_s failed due to an invalid argument.");
exit(1);
}
printf( "OS date:\t\t\t\t%s\n", tmpbuf );
}
Equivalente en .NET Framework
Vea también
Referencia
ctime_s, _ctime32_s, _ctime64_s, _wctime_s, _wctime32_s, _wctime64_s
gmtime_s, _gmtime32_s, _gmtime64_s