_strdate_s
, _wstrdate_s
Copient la date système actuelle dans une mémoire tampon. Ces fonctions sont des versions de , _wstrdate
avec des améliorations de _strdate
sécurité, comme décrit dans les fonctionnalités de sécurité dans le CRT.
Syntaxe
errno_t _strdate_s(
char *buffer,
size_t size
);
errno_t _wstrdate_s(
wchar_t *buffer,
size_t size
);
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
buffer
Pointeur vers une mémoire tampon pour placer la chaîne de date mise en forme.
size
Taille de la mémoire tampon en unités de caractères.
Valeur retournée
Zéro si l’opération aboutit. La valeur de retour est un code d’erreur en cas d’échec. Les codes d’erreur sont définis dans ERRNO.H. Consultez le tableau ci-dessous pour en savoir plus sur les erreurs générées exactement par cette fonction. Pour plus d’informations sur les codes d’erreur, consultez errno
.
Conditions de l’erreur
buffer |
size |
Renvoie | Contenu de buffer |
---|---|---|---|
NULL |
(indifférent) | EINVAL |
Non modifié |
Non NULL (pointant vers la mémoire tampon valide) |
0 | EINVAL |
Non modifié |
Non NULL (pointant vers la mémoire tampon valide) |
0 <size < 9 |
EINVAL |
Chaîne vide |
Non NULL (pointant vers la mémoire tampon valide) |
size >= 9 |
0 | Date actuelle au format spécifié dans la section Notes |
Problèmes de sécurité
Si vous transmettez une valeur non NULL non valide pour buffer
, cela entraîne une violation d’accès si le size
paramètre est supérieur à neuf.
Le passage d’une valeur supérieure size
à la taille réelle des résultats dans un dépassement de buffer
mémoire tampon.
Notes
Ces fonctions offrent des versions plus sécurisées de _strdate
et _wstrdate
. La _strdate_s
fonction copie la date système actuelle vers la mémoire tampon pointée par buffer
. Il est mis mm/dd/yy
en forme, où mm
est le mois à deux chiffres, dd
est le jour à deux chiffres, 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 comporter au moins neuf 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.
Lorsqu’il buffer
s’agit d’un NULL
pointeur ou size
est inférieur à neuf caractères, le gestionnaire de paramètres non valide est appelé. Elle est décrite dans la validation des paramètres. Si l’exécution est autorisée à continuer, ces fonctions retournent -1. Ils ont la valeur errno
EINVAL
si la mémoire tampon est NULL
ou si size
elle est inférieure ou égale à 0. Ou bien, ils sont définis errno
sur s’ils size
sont inférieurs à ERANGE
9.
En C++, l’utilisation de ces fonctions est simplifiée par les surcharges de modèle. Les surcharges peuvent déduire automatiquement la longueur de la mémoire tampon, ce qui élimine la nécessité de spécifier un size
argument. Et ils peuvent remplacer automatiquement les fonctions non sécurisées par leurs équivalents plus récents et plus sécurisés. Pour plus d’informations, consultez Surcharges de modèles sécurisés.
Les versions de bibliothèque de débogage de ces fonctions remplissent d’abord la mémoire tampon avec 0xFE. Pour désactiver ce comportement, utilisez _CrtSetDebugFillThreshold
.
Par défaut, l’état global de cette fonction est limité à l’application. Pour modifier ce comportement, consultez État global dans le CRT.
Mappage de routine de texte générique :
Routine TCHAR.H | _UNICODE et _MBCS non défini |
_MBCS Défini |
_UNICODE Défini |
---|---|---|---|
_tstrdate_s |
_strdate_s |
_strdate_s |
_wstrdate_s |
Spécifications
Routine | En-tête requis |
---|---|
_strdate |
<time.h> |
_wstrdate |
<time.h> ou <wchar.h> |
_strdate_s |
<time.h> |
Exemple
Consultez l’exemple pour time
.
Voir aussi
Gestion des horaires
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
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour