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( <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 );
}
Résultat de l'exemple
The time is Fri Apr 25 13:03:39 2003
Équivalent .NET Framework
Voir aussi
Référence
ctime, _ctime32, _ctime64, _wctime, _wctime32, _wctime64
gmtime_s, _gmtime32_s, _gmtime64_s