ctime_s
, , _ctime32_s
, _wctime_s
_ctime64_s
, , _wctime32_s
_wctime64_s
Convertissent une valeur de temps en une chaîne et ajustent les paramètres de fuseau horaire local. Ces fonctions sont des versions de , , , _wctime
_wctime64
avec des améliorations de sécurité, comme décrit dans les fonctionnalités de sécurité dans le CRT. _ctime64
ctime
Syntaxe
errno_t ctime_s(
char* buffer,
size_t numberOfElements,
const time_t *sourceTime
);
errno_t _ctime32_s(
char* buffer,
size_t numberOfElements,
const __time32_t *sourceTime
);
errno_t _ctime64_s(
char* buffer,
size_t numberOfElements,
const __time64_t *sourceTime )
;
errno_t _wctime_s(
wchar_t* buffer,
size_t numberOfElements,
const time_t *sourceTime
);
errno_t _wctime32_s(
wchar_t* buffer,
size_t numberOfElements,
const __time32_t *sourceTime
);
errno_t _wctime64_s(
wchar_t* buffer,
size_t numberOfElements,
const __time64_t *sourceTime
);
template <size_t size>
errno_t _ctime32_s(
char (&buffer)[size],
const __time32_t *sourceTime
); // C++ only
template <size_t size>
errno_t _ctime64_s(
char (&buffer)[size],
const __time64_t *sourceTime
); // C++ only
template <size_t size>
errno_t _wctime32_s(
wchar_t (&buffer)[size],
const __time32_t *sourceTime
); // C++ only
template <size_t size>
errno_t _wctime64_s(
wchar_t (&buffer)[size],
const __time64_t *sourceTime
); // C++ only
Paramètres
buffer
Doit être suffisamment grand pour contenir 26 caractères. Pointeur vers le résultat de la chaîne de caractères, ou NULL
si :
sourceTime
représente une date antérieure au 1er janvier 1970 à minuit, UTC ;si vous utilisez
_ctime32_s
ou_wctime32_s
et quesourceTime
représente une date postérieure au 18 janvier 2038 à 23:59:59, heure UTC ;si vous utilisez
_ctime64_s
ou_wctime64_s
et quesourceTime
représente une date postérieure au 31 décembre 3000 à 23:59:59, heure UTC ;Si vous utilisez
_ctime_s
ou_wctime_s
, ces fonctions sont des wrappers pour les fonctions précédentes. Consultez la section Notes.
numberOfElements
Taille de la mémoire tampon.
sourceTime
Pointeur désignant la valeur de temps stockée.
Valeur retournée
Zéro si l’opération aboutit. En cas d’échec en raison d’un paramètre non valide, le gestionnaire de paramètres non valide est appelé, comme décrit dans la validation des paramètres. Si l’exécution est autorisée à se poursuivre, un code d’erreur est retourné. Les codes d’erreur sont définis dans ERRNO. H; pour obtenir la liste de ces erreurs, consultez errno
. Les codes d’erreur levés pour chaque condition d’erreur sont répertoriés dans le tableau suivant.
Conditions d’erreur
buffer |
numberOfElements |
sourceTime |
Retour | Valeur dans buffer |
---|---|---|---|---|
NULL |
n'importe laquelle | n'importe laquelle | EINVAL |
Non modifié |
Pas NULL (pointe vers une mémoire valide) |
0 | n'importe laquelle | EINVAL |
Non modifié |
Pas NULL |
0< taille < 26 | n'importe laquelle | EINVAL |
Chaîne vide |
Pas NULL |
>= 26 | NULL | EINVAL |
Chaîne vide |
Pas NULL |
>= 26 | < 0 | EINVAL |
Chaîne vide |
Notes
La ctime_s
fonction convertit une valeur de temps stockée sous forme time_t
de structure en chaîne de caractères. La sourceTime
valeur est généralement obtenue à partir d’un appel à time
, qui retourne le nombre de secondes écoulées depuis minuit (00:00:00), le 1er janvier 1970, temps universel coordonné (UTC). La chaîne de valeur de retour contient exactement 26 caractères et présente la forme suivante :
Wed Jan 2 02:03:55 1980\n\0
Une horloge de 24 heures est utilisée. 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 des paramètres de fuseau horaire local. Pour plus d’informations sur la configuration de l’heure locale, consultez les fonctions et les time
fonctions_ftime
localtime
. Pour plus d’informations sur la définition de l’environnement de fuseau horaire et des variables globales, consultez la _tzset
fonction.
_wctime32_s
et _wctime64_s
sont la version à caractères larges de _ctime32_s
et _ctime64_s
; ils retournent un pointeur désignant une chaîne à caractères larges. Sinon, _ctime64_s
, _wctime32_s
et _wctime64_s
se comportent de la même façon que _ctime32_s
.
ctime_s
est une fonction inline qui prend la valeur _ctime64_s
, tandis que time_t
équivaut à __time64_t
. Si vous devez forcer le compilateur à interpréter time_t
comme ancien time_t
32 bits, vous pouvez définir _USE_32BIT_TIME_T
. Cette macro provoque ctime_s
l’évaluation _ctime32_s
. Nous ne le recommandons pas, car votre application peut échouer après le 18 janvier 2038 et elle n’est pas autorisée sur les plateformes 64 bits.
En C++, l’utilisation de ces fonctions est simplifiée par les surcharges de modèle ; les surcharges peuvent déduire automatiquement la longueur de la mémoire tampon, ce qui évite d’avoir à spécifier un argument de taille. Pour plus d'informations, consultez Sécuriser les surcharges de modèle.
Les versions de bibliothèque de débogage de ces fonctions remplissent d’abord la mémoire tampon avec 0xFE. Pour désactiver ce comportement, utilisez _CrtSetDebugFillThreshold
.
Par défaut, l’état global de cette fonction est limité à l’application. Pour modifier ce comportement, consultez État global dans le CRT.
Mappages de routines de texte générique
Routine TCHAR.H | _UNICODE et _MBCS non définis |
_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 |
Spécifications
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 plus d’informations sur la compatibilité, consultez Compatibility.
Bibliothèques
Toutes les versions des 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( <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 );
}
The time is Fri Apr 25 13:03:39 2003
Voir aussi
Gestion des horaires
asctime_s
, _wasctime_s
ctime
, , _ctime32
, _wctime
_ctime64
, , _wctime32
_wctime64
_ftime
, , _ftime32
_ftime64
gmtime_s
, , _gmtime32_s
_gmtime64_s
localtime_s
, , _localtime32_s
_localtime64_s
time
, , _time32
_time64