_strtime_s, _wstrtime_s
Para obtener la documentación más reciente de Visual Studio 2017 RC, consulte Documentación de Visual Studio 2017 RC.
Copie la hora actual en un búfer. Estas son versiones de _strtime, _wstrtime con mejoras de seguridad, como se describe en características de seguridad de 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, al menos 10 bytes de longitud, donde se escribirá el tiempo.
[in] numberOfElements
Tamaño del búfer.
Cero si es correcta.
Si se produce una condición de error, se invoca el controlador de parámetros no válidos, como se describe en validación del parámetro. El valor devuelto es un código de error si se produce un error. Códigos de error se definen en ERRNO. H; Consulte la tabla siguiente para exacta de los errores generados por esta función. Para obtener más información sobre códigos de error, consulte errno (constantes).
Condiciones de error
buffer | numberOfElements | Volver | Contenido de buffer |
---|---|---|---|
NULL | (any) | EINVAL | No modificado |
No NULL (que señala al búfer válido) | 0 | EINVAL | No modificado |
No NULL (que señala al búfer válido) | 0< size="">< 9></ 9> | EINVAL | Cadena vacía |
No NULL (que señala al búfer válido) | Tamaño > 9 | 0 | Hora actual con el formato especificado en la sección de comentarios |
Pasando un valor distinto de NULL no válido para el búfer se producirá una infracción de acceso si la numberOfElements
parámetro es mayor que 9.
Pasar un valor para numberOfElements
que es mayor que el tamaño real del búfer se producirá la saturación del búfer.
Estas funciones proporcionan versiones más seguras de _strtime
y _wstrtime
. El _strtime_s
función copia la hora local actual en el búfer señalado por timestr
. La hora se formatea como hh:mm:ss
donde hh
dos dígitos que representa la hora en formato de 24 horas, mm
es que representa los minutos transcurridos tras la hora de dos dígitos y ss
dos dígitos que representa los segundos. Por ejemplo, la cadena 18:23:44
representa 23 minutos y 44 segundos más allá de 6 p. M. El búfer debe ser al menos 9 bytes de longitud; el segundo parámetro, se especifica el tamaño real.
_wstrtime
es una versión con caracteres anchos de _strtime
; el argumento y el valor devuelto de _wstrtime
son cadenas de caracteres anchos. Por lo demás, estas funciones se comportan exactamente igual.
En C++, el uso de estas funciones se simplifica con las sobrecargas de plantilla; las sobrecargas pueden realizar una inferencia automáticamente de la longitud de búfer (lo que elimina el requisito de especificar un argumento de tamaño) y pueden reemplazar automáticamente funciones anteriores no seguras con sus homólogos seguros más recientes. Para obtener más información, consulta Secure Template Overloads.
Asignación de rutina de texto genérico:
Rutina TCHAR.H | _UNICODE y _MBCS no definidos | _MBCS definido | _UNICODE definido |
---|---|---|---|
_tstrtime_s | _strtime_s | _strtime_s | _wstrtime_s |
Rutina | Encabezado necesario |
---|---|
_strtime_s | <time.h> |
_wstrtime_s | <time.h>o<wchar.h></wchar.h></time.h> |
Para obtener información adicional de compatibilidad, vea Compatibilidad en la Introducción.
// 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 ); }
OS time: 14:37:49 OS date: 04/25/03
Administración del tiempo
asctime_s, _wasctime_s
ctime_s, _ctime32_s, _ctime64_s, _wctime_s, _wctime32_s, _wctime64_s
gmtime_s, _gmtime32_s, _gmtime64_s
localtime_s, _localtime32_s, _localtime64_s
mktime, _mktime32, _mktime64
tiempo, _time32, _time64
_tzset