Partager via


_strdate_s, _wstrdate_s

Copiez la date système actuelle vers une mémoire tampon. Il s'agit de versions de 5x4fwzb4(v=vs.120).mdFonctionnalités de sécurité dans le 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
    Un pointeur vers une mémoire tampon qui sera rempli avec la chaine de dates formatée.

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

Valeur de retour

Zéro en cas de réussite. La valeur de retour est un code d'erreur en cas de échec. Les codes d'erreur sont définis dans ERRNO.H ; consultez le tableau ci-dessous pour les erreurs exactes générées par cette fonction. Pour plus d'informations sur les codes d'erreur, consultez errno.

Conditions d'erreur

buffer

numberOfElements

Return

Contenu de buffer.

NULL

(Indifférent)

EINVAL

Non modifié

Non NULL (pointeur vers la mémoire tampon valide)

0

EINVAL

Non modifié

Non NULL (pointeur vers la mémoire tampon valide)

0 < numberOfElements < 9

EINVAL

Chaîne vide

Non NULL (pointeur vers la mémoire tampon valide)

numberOfElements >= 9

0

Date du jour au format spécifié dans les notes

Problèmes de sécurité

Transmettre des valeurs non valides nonNULL du tampon génère une violation d'accès si le paramètrenumberOfElements est supérieur à 9.

Passer des valeurs pour une taille supérieure à la taille réelle debuffer entraîne un dépassement de mémoire tampon.

Notes

Ces fonctions fournissent des versions plus sécurisées de_strdate et de_wstrdate. La fonction _strdate_s copie la date système actuelle vers la mémoire tampon désignée par lebuffer, mmmis en forme/dd/yy, où les deux chiffres mm représentent le mois, les chiffres dd représentent le jour, et les deux chiffresyysont les deux derniers chiffres de l'année. Par exemple, la chaîne 12/05/99 représente le le 5 décembre 1999. La mémoire tampon doit contenir 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 de caractères larges. Ces fonctions se comportent sinon de façon identique.

Si buffer est un pointeur NULL, ou si numberOfElements est inférieur à 9 caractères, le gestionnaire de paramètre non valide est appelé, comme décrit dans Validation de paramètre. Si l'execution peut se poursuivre, ces fonctions retournent -1 et définissenterrno à EINVAL si la mémoire tampon est NULL ou si numberOfElements est inférieure ou égal à 0, ou définissent errno à ERANGE si numberOfElements est inférieur à 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 Sécuriser les surcharges de modèle.

Mappage de routines de texte générique

Routine TCHAR.H

_UNICODE & _MBCS non définis

_MBCS défini

_UNICODE défini

_tstrdate_s

_strdate_s

_strdate_s

_wstrdate_s

Configuration requise

Routine

En-tête requis

_strdate

<time.h>

_wstrdate

<time.h> or <wchar.h>

_strdate_s

<time.h>

Exemple

Consultez l'exemple de time.

Équivalent .NET Framework

System::DateTime::Parse

Voir aussi

Référence

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

time, _time32, _time64

_tzset