ctime_s, _ctime32_s, _ctime64_s, _wctime_s, _wctime32_s, _wctime64_s
Convierte un valor de hora a una cadena y ajustelo para que haya configuraciones de zonas de la hora local.Éstas son versiones de ctime, _ctime64, _wctime, _wctime64 con mejoras de seguridad como se describe en Características de seguridad en CRT.
errno_t ctime_s(
char* buffer,
size_t numberOfElements,
const time_t *time
);
errno_t _ctime32_s(
char* buffer,
size_t numberOfElements,
const __time32_t *time
);
errno_t _ctime64_s(
char* buffer,
size_t numberOfElements,
const __time64_t *time )
;
errno_t _wctime_s(
wchar_t* buffer,
size_t numberOfElements,
const time_t *time
);
errno_t _wctime32_s(
wchar_t* buffer,
size_t numberOfElements,
const __time32_t *time
);
errno_t _wctime64_s(
wchar_t* buffer,
size_t numberOfElements,
const __time64_t *time
);
template <size_t size>
errno_t _ctime32_s(
char (&buffer)[size],
const __time32_t *time
); // C++ only
template <size_t size>
errno_t _ctime64_s(
char (&buffer)[size],
const __time64_t *time
); // C++ only
template <size_t size>
errno_t _wctime32_s(
wchar_t (&buffer)[size],
const __time32_t *time
); // C++ only
template <size_t size>
errno_t _wctime64_s(
wchar_t (&buffer)[size],
const __time64_t *time
); // C++ only
Parámetros
[out] buffer
Debe ser lo suficientemente grande para contener 26 caracteres.Un puntero al resultado de la cadena de caracteres, o NULLsi:time representa una fecha antes de medianoche, el 1 de enero de 1970, hora UTC.
Si utiliza _ctime32_s o _wctime32_s y time representa una fecha después de 03:14: 7 de enero de 19, 2038.
Si utiliza _ctime64_s o _wctime64_s y time representa una fecha después de 23:59: 59, el 31 de diciembre, 3000, la hora UTC.
Si utiliza _ctime_s o _wctime_s, estas funciones son contenedores a las funciones anteriores.Consulte la sección Comentarios.
[in] numberOfElements
Tamaño del búfer.[in] time
Puntero al tiempo almacenado.
Valor devuelto
cero si correctamente.Si hay un error debido a un parámetro no válido, 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, se devuelve un código de error.Los códigos de error se definen en ERRNO.H; para obtener una lista de estos errores, vea errno.los códigos de error reales lanzados para cada condición de error se muestran en la tabla siguiente.
condiciones de error
buffer |
numberOfElements |
time |
Return |
Valor de buffer |
---|---|---|---|---|
NULL |
cualquier |
cualquier |
EINVAL |
no modificado |
No NULL (señala memoria válido) |
0 |
cualquier |
EINVAL |
no modificado |
no NULL |
0< tamaño < 26 |
cualquier |
EINVAL |
Cadena vacía |
no NULL |
>= 26 |
NULL |
EINVAL |
Cadena vacía |
no NULL |
>= 26 |
< 0 |
EINVAL |
Cadena vacía |
Comentarios
La función de ctime_s convierte un valor de hora almacenado como una estructura de time_t en una cadena de caracteres.El valor de time se obtiene normalmente de una llamada a tiempo, que devuelve el número de segundos transcurridos desde la medianoche (00:00: 00), el 1 de enero de 1970, hora universal coordinada (UTC) (UTC).La cadena del valor devuelto contiene exactamente 26 caracteres y tiene el formato:
Wed Jan 02 02:03:55 1980\n\0
se utiliza un reloj de 24 horas.todos los campos tienen un ancho constante.El carácter de nueva línea (“\ n ") y el carácter null (“\ 0 ") ocupan las dos últimas posiciones de la cadena.
Cadena de caracteres convierte también se ajusta según la configuración de zonas de la hora local.Vea time, _ftime, y las funciones de localtime32_s para obtener información sobre la configuración de la hora local y la función de _tzset para obtener información sobre la definición del entorno y las variables globales de la zona horaria.
_wctime32_s y _wctime64_s son la versión con caracteres anchos de _ctime32_s y _ctime64_s; devolver un puntero a la cadena de caracteres.Si no, _ctime64_s, _wctime32_s, y _wctime64_s se comportan de forma idéntica a _ctime32_s.
ctime_s es una función inline que se evalúa como _ctime64_s y time_t es equivalente a __time64_t.Si necesita hacer que el compilador para interpretar time_t como time_tde 32 bits anterior, puede definir _USE_32BIT_TIME_T.Hacer esto hará ctime_s evalúe _ctime32_s.Esto no es recomendable porque la aplicación puede producir un error después del 18 de enero de 2038, y no se permite en plataformas de 64 bits.
En C++, mediante estas funciones es simplificado con sobrecargas de plantilla; las sobrecargas pueden deducir longitud de búfer automáticamente, lo que elimina la necesidad de especificar un argumento size.Para obtener más información, vea Sobrecargas de plantilla de seguridad.
Asignaciones de la rutina de texto genérico
rutina de TCHAR.H |
_UNICODE y _MBCS no definido |
_MBCS definido |
_UNICODE definido |
---|---|---|---|
_tctime_s |
ctime_s |
ctime_s |
_wctime_s |
_tctime32_s |
_ctime32_s |
_ctime32_s |
_wctime32_s |
_tctime64_s |
_ctime64_s |
_ctime64_s |
_wctime64_s |
Requisitos
rutina |
Encabezado necesario |
---|---|
ctime_s, _ctime32_s, _ctime64_s |
<time.h> |
_wctime_s, _wctime32_s, _wctime64_s |
<time.h> o <wchar.h> |
Para obtener información adicional de compatibilidad, vea compatibilidad en la Introducción.
bibliotecas
todas las versiones de Bibliotecas en tiempo de ejecución de C.
Ejemplo
// crt_wctime_s.c
/* This program gets the current
* time in time_t form and then uses _wctime_s to
* display the time in string form.
*/
#include <time.h>
#include <stdio.h>
#define SIZE 26
int main( void )
{
time_t ltime;
wchar_t buf[SIZE];
errno_t err;
time( <ime );
err = _wctime_s( buf, SIZE, <ime );
if (err != 0)
{
printf("Invalid Arguments for _wctime_s. Error Code: %d\n", err);
}
wprintf_s( L"The time is %s\n", buf );
}
Resultados del ejemplo
The time is Fri Apr 25 13:03:39 2003
Equivalente en .NET Framework
Vea también
Referencia
ctime, _ctime32, _ctime64, _wctime, _wctime32, _wctime64
gmtime_s, _gmtime32_s, _gmtime64_s