_strdate_s, _wstrdate_s
Kopieren Sie das aktuelle Systemdatum auf einen Puffer.Dies sind Versionen von _strdate, _wstrdate mit beschrieben, wie unter Security Enhancements in Sicherheitsfeatures im 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
Parameter
[out] buffer
Ein Zeiger auf einen Puffer, der die formatierte Datumszeichenfolge gefüllt wird.[in] numberOfElements
Größe des Puffers.
Rückgabewert
Beliebige wenn der Vorgang erfolgreich war.Der Rückgabewert ist ein Fehlercode, wenn ein Fehler auftritt.Fehlercodes werden in ERRNO.H definiert. siehe Tabelle unten für die genauen Fehler, die von dieser Funktion generiert werden.Weitere Informationen zu Fehlercodes finden Sie unter errno.
Fehlerbedingungen
buffer |
numberOfElements |
Return |
Inhalt von buffer |
---|---|---|---|
NULL |
(ggf.) |
EINVAL |
Nicht geändert |
Nicht NULL (zeigenden auf den gültigen Puffer) |
0 |
EINVAL |
Nicht geändert |
Nicht NULL (zeigenden auf den gültigen Puffer) |
0 < numberOfElements < 9 |
EINVAL |
Leere Zeichenfolge |
Nicht NULL (zeigenden auf den gültigen Puffer) |
numberOfElements >= 9 |
0 |
aktuellen Datum formatiert, wie in den Hinweisen angegeben |
Sicherheitsprobleme
Die Übergabe eines ungültigen Wert NULL nicht in den Puffer für eine Zugriffsverletzung führt numberOfElements , wenn der Parameter größer als 9 ist.
Das Übergeben von Werten für Größe, die größer ist als die tatsächliche Größe buffer Pufferüberlauf verursacht.
Hinweise
Diese Funktionen stellen eine sicherere Versionen von _strdate und _wstrdate.Die _strdate_s-Funktion kopiert das aktuelle Systemdatum auf den Puffer, der durch buffer, formatiertes mm/dd/yydargestellt wird, wobei mm zwei Ziffern besteht darin, die den Monat darstellen, dd handelt es sich um zwei Ziffern, die den Tag darstellt, und yy ist die letzten zwei Ziffern des Jahres.Beispielsweise stellt die Zeichenfolge 12/05/99 am 5. Dezember 1999 dar.Der Puffer muss mindestens 9 Zeichen lang sein.
_wstrdate_s ist eine Breitzeichen-Version von _strdate_s. das Argument und der Rückgabewert von _wstrdate_s sind Zeichenfolgen mit Breitzeichen.Diese Funktionen verhalten sich ansonsten unterscheiden.
Wenn bufferNULL ein Zeiger ist oder wenn numberOfElements weniger als 9 Zeichen ist, wird der Ereignishandler aufgerufen, z. B. ungültige Parameter in Parametervalidierungbeschrieben.Wenn die Ausführung ermöglicht wird, um fortzufahren, geben diese Funktionen festlegen und -1 errno zu EINVAL , wenn der Puffer NULL ist oder wenn numberOfElements kleiner oder gleich 0 ist, errnoERANGE soll, oder legt numberOfElements zurück, wenn weniger als 9 ist.
In C++ unter Verwendung dieser Funktionen wird von Vorlagen Operatoren vereinfacht. Die Überladungen können die Pufferlänge (die Anforderung automatisch beseitigend ableiten, die ein Argument angegeben) und können nicht-sicheren, die älteren Funktionen über ihre Äquivalente sicheren, aktuelleren automatisch ersetzen.Weitere Informationen finden Sie unter Speichern Sie Vorlagen-Überladungen.
Zuweisung generischer Textroutinen:
TCHAR.H-Routine |
_UNICODE & _MBCS nicht definiert |
_MBCS definieren |
_UNICODE definiert |
---|---|---|---|
_tstrdate_s |
_strdate_s |
_strdate_s |
_wstrdate_s |
Anforderungen
Routine |
Erforderlicher Header |
---|---|
_strdate |
<time.h> |
_wstrdate |
<time.h> oder <wchar.h> |
_strdate_s |
<time.h> |
Beispiel
Weitere Informationen finden Sie im Beispiel für Zeit.
.NET Framework-Entsprechung
Siehe auch
Referenz
ctime_s, _ctime32_s, _ctime64_s, _wctime_s, _wctime32_s, _wctime64_s
gmtime_s, _gmtime32_s, _gmtime64_s