_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
ctime_s, _ctime32_s, _ctime64_s, _wctime_s, _wctime32_s, _wctime64_s
gmtime_s, _gmtime32_s, _gmtime64_s