Freigeben über


_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

System::DateTime::Analyse

Siehe auch

Referenz

Zeit-Verwaltung

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

Zeit, _time32, _time64

_tzset