Partager via


ctime_s, _ctime32_s, _ctime64_s, _wctime_s, _wctime32_s, _wctime64_s

Convertit une valeur d'heure en une chaîne et ajustez pour les paramètres de fuseau horaire local.Ce sont des versions de ctime, _ctime64, _wctime, _wctime64 avec des améliorations de sécurité comme décrit dans Fonctionnalités de sécurité du 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

Paramètres

  • [out] buffer
    Doit être suffisamment grande pour contenir 26 caractères.Un pointeur vers le résultat de chaîne de caractères, ou NULLsi :

    • time représente une date avant minuit, le 1er janvier 1970, l'heure UTC.

    • si vous utilisez _ctime32_s ou _wctime32_s et time représente une date après 3h14 : le 7 janvier 19, 2038.

    • si vous utilisez _ctime64_s ou _wctime64_s et time représente une date après 23h59 : 59, le 31 décembre, 3000, l'heure UTC.

    • si vous utilisez _ctime_s ou _wctime_s, ces fonctions sont des wrappers aux fonctions précédentes.Consultez la section Notes.

  • [in] numberOfElements
    Taille de la mémoire tampon.

  • [in] time
    Pointeur vers le temps stocké.

Valeur de retour

Zéro si l'opération a réussi.S'il y a échoué en raison d'un paramètre non valide, le gestionnaire de paramètre non valide est appelé, comme décrit dans Validation des paramètres.Si est autorisé à l'exécution de se poursuivre, le code d'erreur est retourné.Les codes d'erreur sont définis dans ERRNO.H ; pour obtenir la liste de ces erreurs, consultez l' errno.Les codes d'erreur réels levée pour chaque condition d'erreur sont présentés dans le tableau suivant.

conditions d'erreur

buffer

numberOfElements

time

Return

valeur dans buffer

NULL

quels

quels

EINVAL

non modifié

Pas NULL (pointe vers une mémoire non valide)

0

quels

EINVAL

non modifié

pas NULL

0< taille < 26

quels

EINVAL

Chaîne vide

pas NULL

>= 26

NULL

EINVAL

Chaîne vide

pas NULL

>= 26

< 0

EINVAL

Chaîne vide

Notes

La fonction d' ctime_s convertit une valeur d'heure stockées comme structure de time_t dans une chaîne de caractères.La valeur d' time est généralement obtenue à partir d'un appel à temps, qui retourne le nombre de secondes écoulées depuis minuit (0h00 : 00), le 1er janvier 1970, coordinated universal time (UTC)).La chaîne de valeur de retour contient exactement 26 caractères et a la forme :

Wed Jan 02 02:03:55 1980\n\0

Une horloge au format 24 heures est utilisé.tous les champs ont une largeur constante.Le caractère de saut de ligne (" \ n ") et le caractère NULL (" \ 0 ") occupent les deux dernières positions de la chaîne.

La chaîne de caractères convertie est également ajustée en fonction de les paramètres de fuseau horaire local.Voir time, _ftime, et les fonctions de localtime32_s pour plus d'informations sur la configuration de l'heure locale et une fonctionnalité de _tzset pour plus d'informations sur la définition de l'environnement et les variables globales de fuseau horaire.

_wctime32_s et _wctime64_s sont la version à caractère élargi d' _ctime32_s et _ctime64_s; retourner un pointeur vers la chaîne à caractères larges.Sinon, _ctime64_s, _wctime32_s, et _wctime64_s se comportent de manière identique à _ctime32_s.

ctime_s est une fonction inline qui correspond à _ctime64_s et time_t équivaut à __time64_t.Si vous devez forcer le compilateur à interpréter time_t comme time_t32 bits ancien, vous pouvez définir _USE_32BIT_TIME_T.Cela entraînera l'évaluer ctime_s à _ctime32_s.Cela n'est pas recommandé parce que votre application peut échouer après le 18 janvier 2038, et il n'est pas autorisé sur les plateformes 64 bits.

En C++, à l'aide de ces fonctions est simplifié par des surcharges de modèle ; les surcharges peuvent également déduire la longueur de la mémoire tampon automatiquement, en éliminant le besoin de spécifier un argument de taille.Pour plus d'informations, consultez Surcharges sécurisées de modèle.

mappages de routines de texte générique

routine de TCHAR.H

_MBCS & de _UNICODE non défini

_MBCS défini

_UNICODE défini

_tctime_s

ctime_s

ctime_s

_wctime_s

_tctime32_s

_ctime32_s

_ctime32_s

_wctime32_s

_tctime64_s

_ctime64_s

_ctime64_s

_wctime64_s

Configuration requise

routine

en-tête requis

ctime_s,

_ctime32_s,

_ctime64_s

<time.h>

_wctime_s,

_wctime32_s,

_wctime64_s

<time.h> ou <wchar.h>

Pour des informations de compatibilité supplémentaires, consultez compatibilité dans l'introduction.

bibliothèques

toutes les versions de Bibliothèques runtime C.

Exemple

// 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 );
}

Résultat de l'exemple

The time is Fri Apr 25 13:03:39 2003

Équivalent .NET Framework

Voir aussi

Référence

Gestion de la durée

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