asctime_s, _wasctime_s

 

Pour obtenir la dernière documentation sur Visual Studio 2017, consultez Documentation Visual Studio 2017.

Convertir un tm heure de structure à une chaîne de caractères. Ces fonctions sont des versions de asctime, _wasctime avec des améliorations de sécurité comme décrit dans fonctionnalités de sécurité de la bibliothèque CRT.

errno_t asctime_s(   
   char* buffer,  
   size_t numberOfElements,  
   const struct tm *_tm   
);  
errno_t _wasctime_s(   
   wchar_t* buffer,  
   size_t numberOfElements  
   const struct tm *_tm   
);  
template <size_t size>  
errno_t asctime_s(   
   char (&buffer)[size],  
   const struct tm *_tm   
); // C++ only  
template <size_t size>  
errno_t _wasctime_s(   
   wchar_t (&buffer)[size],  
   const struct tm *_tm   
); // C++ only  

Paramètres

buffer
[out] Pointeur vers une mémoire tampon pour stocker le résultat de chaîne de caractères. Cette fonction suppose un pointeur vers un emplacement de mémoire valide avec une taille spécifiée par numberOfElements.

numberOfElements
[in] La taille de la mémoire tampon utilisée pour stocker le résultat.

_tm
[in] Date/heure structure. Cette fonction suppose un pointeur valide struct``tm objet.

Zéro si l’opération réussit. En cas de panne, le Gestionnaire de paramètre non valide est appelé, comme décrit dans Validation de paramètre. Si l’exécution est autorisée à se poursuivre, la valeur de retour est un code d’erreur. Codes d’erreur sont définis dans ERRNO. H. Pour plus d’informations, consultez errno, constantes. Les codes d’erreur retournés pour chaque condition d’erreur sont affichés dans le tableau suivant.

Conditions d’erreur

buffernumberOfElementstmRetournerValeur debuffer
NULLAnyAnyEINVALNon modifié
PasNULL (pointe vers la mémoire valide)0AnyEINVALNon modifié
PasNULL0< size="">< 26></ 26>AnyEINVALChaîne vide
PasNULL>= 26NULLEINVALChaîne vide
PasNULL>= 26Structure d’heure non valide ou hors plage de valeurs pour les composants de l’heureEINVALChaîne vide
System_CAPS_ICON_note.jpg Remarque

Les conditions d’erreur wasctime_s sont similaires à asctime_s avec l’exception que la limite de taille est mesurée en mots.

Le asctime fonction convertit une heure stockée sous la forme d’une structure à une chaîne de caractères. Le _tm valeur est généralement obtenue à partir d’un appel à gmtime ou localtime. Les deux fonctions peuvent être utilisées pour renseigner un tm de structure, comme défini dans le temps. H.

membre de timeptrValeur
tm_hourHeures écoulées depuis minuit (0 à&23;)
tm_isdstPositif si l’heure d’été est en vigueur ; 0 si l’heure n’a pas d’effet ; négatif si l’état de l’heure d’été est inconnu. La bibliothèque Runtime C suppose que les règles de calcul de l’heure d’été (DST) des États-Unis.
tm_mdayJour du mois (1 à&31;)
tm_minMinutes après l’heure (0 à&59;)
tm_monMois (de 0 à 11 ; Janvier = 0)
tm_secSecondes après la minute (0 à&59;)
tm_wdayJour de la semaine (0-6 ; Dimanche = 0)
tm_ydayJour de l’année (0 – 365 ; Le 1er janvier = 0)
tm_yearYear (année en cours moins 1900)

La chaîne de caractères convertie est également ajustée en fonction des paramètres de fuseau horaire local. Consultez le temps, _time32, _time64, _ftime, _ftime32, _ftime64, et localtime_s, _localtime32_s, _localtime64_s fonctions pour plus d’informations sur la configuration de l’heure locale et la _tzset (fonction) pour plus d’informations sur la définition de l’environnement de fuseau horaire et des variables globales.

La chaîne résultante produite par asctime_s contient exactement 26 caractères et se présente sous la forme Wed Jan 02 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 nouvelle ligne et le caractère null occupent les deux dernières positions de la chaîne. La valeur passée comme deuxième paramètre doit être au moins ce volumineuses. S’il est moins, un code d’erreur EINVAL, sera retourné.

_wasctime_sest une version à caractère élargi de asctime_s. Sinon, _wasctime_s et asctime_s se comportent de la même façon.

Mappage de Routine de texte générique

Routine TCHAR.H_UNICODE et _MBCS non définis_MBCS défini_UNICODE défini
_tasctime_sasctime_sasctime_s_wasctime_s

En C++, l’utilisation de ces fonctions est simplifiée par les surcharges de modèle ; les surcharges peuvent déduire la longueur de la mémoire tampon automatiquement, en éliminant le besoin de spécifier un argument taille. Pour plus d'informations, consultez Secure Template Overloads.

RoutineEn-tête requis
asctime_s<time.h>
_wasctime_s<time.h>ou<wchar.h></wchar.h></time.h>

Si le pointeur de la mémoire tampon n’est pas NULL et que le pointeur ne pointe pas vers une mémoire tampon valide, la fonction remplacera tout ce qui est à l’emplacement. Cela peut également entraîner une violation d’accès.

A dépassement de mémoire tampon peut se produire si l’argument taille passé est supérieur à la taille réelle de la mémoire tampon.

Ce programme place l’heure système de l’entier long aclock, il traduit la structure newtime , puis le convertir sous forme de chaîne de sortie, à l’aide de la asctime_s (fonction).

// crt_asctime_s.c  
#include <time.h>  
#include <stdio.h>  
  
struct tm newtime;  
__time32_t aclock;  
  
int main( void )  
{  
   char buffer[32];  
   errno_t errNum;  
   _time32( &aclock );   // Get time in seconds.  
   _localtime32_s( &newtime, &aclock );   // Convert time to struct tm form.  
  
   // Print local time as a string.  
  
   errNum = asctime_s(buffer, 32, &newtime);  
   if (errNum)  
   {  
       printf("Error code: %d", (int)errNum);  
       return 1;  
   }  
   printf( "Current date and time: %s", buffer );  
   return 0;  
}  

Current date and time: Wed May 14 15:30:17 2003  

Gestion du temps
ctime_s, _ctime32_s, _ctime64_s, _wctime_s, _wctime32_s, _wctime64_s
_ftime, _ftime32, _ftime64
gmtime_s, _gmtime32_s, _gmtime64_s
localtime_s, _localtime32_s, _localtime64_s
heure, _time32, _time64
_tzset

Afficher: