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( &ltime );

  
   err = _wctime_s( buf, SIZE, &ltime );
   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

Administración de tiempo

asctime_s, _wasctime_s

ctime, _ctime32, _ctime64, _wctime, _wctime32, _wctime64

_ftime, _ftime32, _ftime64

gmtime_s, _gmtime32_s, _gmtime64_s

localtime_s, _localtime32_s, _localtime64_s

time, _time32, _time64