Freigeben über


_strdate_s, _wstrdate_s

Kopieren Sie das aktuelle Systemdatum in einem Puffer. Diese Versionen sind von _strdate, _wstrdate mit werden, wie in Sicherheitsfunktionen in der CRT beschrieben.

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 der formatierte Datumszeichenfolge gefüllt wird.

  • [in] numberOfElements
    Größe des Puffers.

Rückgabewert

Null wenn erfolgreich. Der Rückgabewert ist ein Fehlercode, wenn ein Fehler auftritt. Fehlercodes werden in ERRNO.H definiert; finden Sie folgenden Tabelle sind 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

(alle)

EINVAL

Nicht geändert

Nicht NULL (Zeiger auf gültigen Puffer)

0

EINVAL

Nicht geändert

Nicht NULL (Zeiger auf gültigen Puffer)

0 < numberOfElements < 9

EINVAL

Leere Zeichenfolge

Nicht NULL (Zeiger auf gültigen Puffer)

numberOfElements >= 9

0

Aktuelles Datum formatiert, wie in den Hinweisen angegeben

Sicherheitsprobleme

Die Übergabe in einen nicht ungültigen Wert NULL für den Puffer ergibt eine Zugriffsverletzung, wenn der numberOfElements-Parameter größer als 9. ist.

Das Übergeben von Werten für Größe, die größer ist, als das Originalgröße buffer ergibt Pufferüberlauf.

Hinweise

Diese Funktionen stellen sicherere Versionen von _strdate und _wstrdate. Die Funktion _strdate_s kopiert das aktuelle Systemdatum dem Puffer, auf den durch buffer, formatiertes mm/dd/yy gezeigt wird, wobei mm zwei Ziffern ist, die den Monat darstellen, ist dd zwei Ziffern, die den Tag darstellen, und yy ist die letzten beiden Stellen des Jahrs. Beispielsweise stellt die Zeichenfolge 12/05/99 am 5. Dezember 1999 dar. Der Puffer muss 9 Zeichen lang sein.

_wstrdate_s ist eine Breitzeichenversion von _strdate_s. Das Argument und der Rückgabewert von _wstrdate_s sind Zeichenfolgen mit Breitzeichen. Anderenfalls verhalten sich diese Funktionen identisch.

Wenn buffer ein NULL Zeiger ist oder wenn numberOfElements kleiner als 9 Zeichen ist, der ungültige Parameterhandler aufgerufen, wie in Parametervalidierung beschrieben. Wenn die Ausführung zulässig ist, um fortzufahren, geben diese Funktionen festgelegtem -1 und errno zu EINVAL, wenn der Puffer NULL ist, oder wenn numberOfElements kleiner oder gleich 0 ist, oder errno im Satz zu ERANGE zurück, wenn numberOfElements kleiner als 9 ist.

In C++ wird die Verwendung dieser Funktionen durch Vorlagenüberladungen vereinfacht; die Überladungen können automatisch Rückschlüsse auf die Pufferlänge ziehen (wodurch kein Größenargument mehr angegeben werden muss), und sie können automatisch die älteren, nicht sicheren Funktionen durch ihre neueren, sicheren Entsprechungen ersetzen. Weitere Informationen finden Sie unter Sichere Vorlagenüberladungen.

Zuordnung generischer Textroutinen:

TCHAR.H-Routine

_UNICODE & _MBCS nicht definiert

_MBCS definiert

_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

Im Beispiel für time.

.NET Framework-Entsprechung

System::DateTime::Parse

Siehe auch

Referenz

Uhrzeitverwaltung

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