Partager via


_strdate_s, _wstrdate_s

Copiez la date système actuelle vers une mémoire tampon.Ce sont des versions de _strdate, _wstrdate avec des améliorations de sécurité comme décrit dans Fonctionnalités de sécurité du 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 effectuée avec la chaîne de date mise en forme.

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

Valeur de retour

Zéro si l'opération a réussi.La valeur de retour est un code d'erreur si un é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 l' errno.

conditions d'erreur

buffer

numberOfElements

Return

contenu d' buffer

NULL

(les)

EINVAL

non modifié

Pas NULL (pointant vers la mémoire tampon valide)

0

EINVAL

non modifié

Pas NULL (pointant vers la mémoire tampon valide)

0 < numberOfElements < 9

EINVAL

Chaîne vide

Pas NULL (pointant vers la mémoire tampon valide)

numberOfElements >= 9

0

Date actuelle mise en forme comme spécifié dans les notes

problèmes de sécurité

Passez la valeur non valide d' NULL pour la mémoire tampon provoquera une violation d'accès si le paramètre d' numberOfElements est supérieur à 9.

Passer des valeurs pour la taille supérieure à la grandeur réelle d' buffer provoquera un dépassement de mémoire tampon.

Notes

ces fonctions fournissent des versions plus sécurisées d' _strdate et d' _wstrdate.La fonction d' _strdate_s copie la date système actuelle à la mémoire tampon désignée par buffer, mmmis en forme/dd/yy, où mm est deux chiffres qui représente le mois, dd est deux chiffres qui représente le jour, et yy répertorie 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 être au moins 9 caractères.

_wstrdate_s est une version à caractère élargi d' _strdate_s; l'argument et que la valeur de retour d' _wstrdate_s sont des chaînes à caractères larges.Ces fonctions se comportent de sinon.

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

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) et peuvent remplacer automatiquement des fonctions plus anciennes et non sécurisées par leurs nouvelles, sécurisées équivalents.Pour plus d'informations, consultez Surcharges sécurisées de modèle.

mappage de routines de texte générique :

routine de TCHAR.H

_MBCS & de _UNICODE non défini

_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> ou <wchar.h>

_strdate_s

<time.h>

Exemple

Consultez l'exemple pour temps.

Équivalent .NET Framework

System : : Datetime : : analysez

Voir aussi

Référence

Gestion de la durée

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