_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
Viz také
Referenční dokumentace
ctime_s, _ctime32_s, _ctime64_s, _wctime_s, _wctime32_s, _wctime64_s
gmtime_s, _gmtime32_s, _gmtime64_s