Sdílet prostřednictvím


_strdate_s _wstrdate_s

Kopírovat aktuální systémové datum do vyrovnávací paměti.Tyto verze jsou _strdate, _wstrdate s vylepšení zabezpečení popsaným v Funkce zabezpečení v 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

Parametry

  • [výstup]buffer
    Ukazatel do vyrovnávací paměti, která bude vyplněno datum formátovaný řetězec.

  • [v]numberOfElements
    Velikost vyrovnávací paměti.

Vrácená hodnota

Nula, pokud je úspěšná.Vrácená hodnota je kód chyby, pokud nedošlo k selhání.Kódy chyb jsou definovány v kód chyby.H; viz tabulka níže přesné chyby generované této funkce.Další informace o chybových kódech naleznete v tématu kód chyby.

Chybové podmínky

buffer

numberOfElements

Vrátit

Obsahbuffer

NULL

(žádné)

EINVAL

Nezměněno

Není NULL (směřující k platné vyrovnávací paměti)

0

EINVAL

Nezměněno

Není NULL (směřující k platné vyrovnávací paměti)

0 < numberOfElements< 9

EINVAL

Prázdný řetězec

Není NULL (směřující k platné vyrovnávací paměti)

numberOfElements> = 9

0

Aktuální datum formátované podle poznámky

Problémy se zabezpečením

Předávání neplatné bez NULL hodnota pro vyrovnávací paměti způsobí narušení přístupu Pokud numberOfElements parametr je větší než 9.

Předáním hodnoty pro velikost, která je větší než skutečná velikost buffer bude mít za následek přetečení vyrovnávací paměti.

Poznámky

Tyto funkce poskytuje bezpečnější verzí _strdate a _wstrdate._strdate_s Funkce kopíruje do vyrovnávací paměti, na kterou odkazuje aktuální systémové datum buffernaformátovanou mm/dd/yy, kde mm je dvě číslice představují měsíc, dd je dvě číslice představující den, a yy je poslední dvě číslice roku.Například řetězec 12/05/99 představuje dne 5.Vyrovnávací paměti musí být nejméně 9 znaků.

_wstrdate_sje verze celého znaku _strdate_s; hodnota argumentu a návrat _wstrdate_s jsou celý znak řetězce.Tyto funkce chovat stejně jinak.

Pokud buffer je NULL ukazatele, nebo pokud numberOfElements je menší než 9 znaků, vyvolat neplatný parametr popisovače, jak je popsáno v Ověření parametrů.Pokud je povoleno spuštění pokračovat, vrátí tyto funkce hodnotu -1 a nastavit errno na EINVAL Pokud vyrovnávací paměť je NULL nebo numberOfElements je menší nebo rovna 0 nebo sadu errno na ERANGE Pokud numberOfElements je menší než 9.

V jazyce C++ použití těchto funkcí je zjednodušeno díky šablony přetížení; přetížení automaticky odvodit vyrovnávací paměti (není tak nutné zadat argument velikost) a jsou automaticky nahradit starší, -secure funkce s jejich protějšky novější, zabezpečené.Další informace naleznete v tématu Přetížení šablony zabezpečení.

Obecný Text rutinní mapování:

TCHAR.Rutina H

_UNICODE & _MBCS není definován

_MBCS, definice

_UNICODE, definice

_tstrdate_s

_strdate_s

_strdate_s

_wstrdate_s

Požadavky

Rutina

Požadované záhlaví

_strdate

<time.h>

_wstrdate

<time.h> nebo <wchar.h>

_strdate_s

<time.h>

Příklad

Viz příklad pro čas.

Ekvivalent v rozhraní .NET Framework

System::datetime::Parse

Viz také

Referenční dokumentace

Aplikace Správa času

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