Nous recommandons d’utiliser Visual Studio 2017

_strdate_s, _wstrdate_s

 

Date de publication : juillet 2016

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

La date système actuelle dans une mémoire tampon de copie. Voici les versions de _strdate, _wstrdate avec des améliorations de sécurité comme décrit dans fonctionnalités de sécurité de la bibliothèque CRT.

errno_t _strdate_s(  
   char *buffer,  
   size_t numberOfElements  
);  
errno_t _wstrdate_s(  
   wchar_t *buffer,  
   size_t numberOfElements  
);  
template <size_t size>  
errno_t _strdate_s(  
   char (&buffer)[size]  
); // C++ only  
template <size_t size>  
errno_t _wstrdate_s(  
   wchar_t (&buffer)[size]  
); // C++ only  

Paramètres

[out] buffer
Pointeur vers une mémoire tampon qui sera rempli avec la chaîne de date mis en forme.

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

Zéro si l’opération réussit. La valeur de retour est un code d’erreur en cas de panne. Codes d’erreur sont définis dans ERRNO. H ; voir le tableau ci-dessous pour les erreurs exacts généré par cette fonction. Pour plus d’informations sur les codes d’erreur, consultez la page errno.

buffernumberOfElementsRetournerContenu de buffer
NULL(tout)EINVALNon modifié
Pas NULL (pointant vers la mémoire tampon valide)0EINVALNon modifié
Pas NULL (pointant vers la mémoire tampon valide)0 < numberOfElements < 9EINVALChaîne vide
Pas NULL (pointant vers la mémoire tampon valide)numberOfElements >= 90Date actuelle au format spécifié dans la section Notes

En passant un n’est pas valide non NULL valeur pour la mémoire tampon entraîne une violation d’accès si le numberOfElements paramètre est supérieur à 9.

Passer des valeurs de taille qui est supérieure à la taille réelle de la buffer provoque dépassement de mémoire tampon.

Ces fonctions fournissent des versions plus sécurisées de _strdate et _wstrdate. Le _strdate_s fonction copie la date système actuelle dans la mémoire tampon vers laquelle pointée buffermise en forme mm / dd / yy, où mm comprend deux chiffres représentant le mois, dd comprend deux chiffres représentant le jour, et yy est les deux derniers chiffres de l’année. Par exemple, la chaîne 12/05/99 représente le 5 décembre 1999. La mémoire tampon doit être au moins 9 caractères.

_wstrdate_s est une version à caractères larges de _strdate_s ; l'argument et la valeur de retour de _wstrdate_s sont des chaînes à caractères larges. Ces fonctions se comportent sinon de façon identique.

Si buffer est un NULL pointeur, ou si numberOfElements est inférieure à 9 caractères, 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, ces fonctions retournent -1 et errno à EINVAL si la mémoire tampon est NULL ou si numberOfElements est inférieur ou égal à 0, ou ensemble errno à ERANGE si numberOfElements est inférieure à 9.

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 (ce qui évite d’avoir à spécifier un argument taille) et peuvent remplacer automatiquement les fonctions plus anciennes et non sécurisées par leurs équivalentes plus récentes et sécurisées. Pour plus d'informations, consultez Secure Template Overloads.

Mappage de routines de texte générique :

Routine TCHAR.H_UNICODE et _MBCS non définis_MBCS défini_UNICODE défini
_tstrdate_s_strdate_s_strdate_s_wstrdate_s
RoutineEn-tête requis
_strdate<time.h>
_wstrdate<time.h>ou<wchar.h></wchar.h></time.h>
_strdate_s<time.h>

Consultez l’exemple de temps.

System::DateTime::Parse

Gestion du temps
asctime_s, _wasctime_s
ctime_s, _ctime32_s, _ctime64_s, _wctime_s, _wctime32_s, _wctime64_s
gmtime_s, _gmtime32_s, _gmtime64_s
localtime_s, _localtime32_s, _localtime64_s
mktime, _mktime32, _mktime64
heure, _time32, _time64
_tzset

Afficher: