_strdate_s, _wstrdate_s
Kopiuj bieżącą datę systemową do bufora.Są to wersje _strdate, _wstrdate z rozszerzeń zabezpieczeń opisane w Funkcje zabezpieczeń w 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
[out]buffer
Wskaźnik do buforu, który będzie wypełniona w ciągu daty sformatowany.[w]numberOfElements
Rozmiar buforu.
Wartość zwracana
Zero, jeśli kończy się pomyślnie.Wartość zwracana jest kod błędu, jeśli wystąpi awaria.Kody błędów są zdefiniowane w ERRNO.H; Zobacz tabelę poniżej dokładne błędów wygenerowanych przez tę funkcję.Aby uzyskać więcej informacji dotyczących kodów błędów, zobacz errno.
Warunki błędów
buffer |
numberOfElements |
Zwrot |
Zawartośćbuffer |
---|---|---|---|
NULL |
(wszystkie) |
EINVAL |
Nie zmodyfikowano |
Nie NULL (wskazując ważnego bufora) |
0 |
EINVAL |
Nie zmodyfikowano |
Nie NULL (wskazując ważnego bufora) |
0 < numberOfElements< 9 |
EINVAL |
Pusty ciąg znaków |
Nie NULL (wskazując ważnego bufora) |
numberOfElements> = 9 |
0 |
Bieżącą datę sformatowaną, jak określono w uwagi |
Problemy dotyczące zabezpieczeń
Przekazując nieprawidłową non NULL wartość dla buforu spowoduje naruszenie dostępu, jeśli numberOfElements parametr jest większa niż 9.
Przekazanie wartości wielkości jest większa niż rzeczywisty rozmiar buffer spowoduje przekroczenie buforu.
Uwagi
Funkcje te zapewniają bezpieczniejsze wersje _strdate i _wstrdate._strdate_s Funkcja kopiuje bieżącą datę systemową do bufora wskazywanego przez buffer, sformatowanym mm/dd/yy, gdzie mm jest dwie cyfry, reprezentującą miesiąc, dd jest dwie cyfry, reprezentującą dzień, i yy się dwie ostatnie cyfry roku.Na przykład ciąg 12/05/99 reprezentuje 5 grudnia 1999 r.Bufor musi być co najmniej 9 znaków.
_wstrdate_sjest to wersja szerokich znaków _strdate_s; wartość argumentów i _wstrdate_s są ciągami szerokich znaków.Te funkcje działają identycznie inaczej.
Jeśli buffer jest NULL wskaźnik, lub jeśli numberOfElements jest mniejsza niż 9 znaków, wywoływana jest funkcja obsługi nieprawidłowy parametr, jak opisano w Sprawdzanie poprawności parametru.Jeśli wykonanie może kontynuować, funkcje te zwracają wartość -1 i errno do EINVAL Jeśli bufor jest NULL lub jeśli numberOfElements jest mniejsza lub równa 0 lub zestaw errno do ERANGE Jeśli numberOfElements jest mniejsza niż 9.
W języku C++ korzystając z tych funkcji jest uproszczona poprzez overloads szablonu; overloads można automatycznie rozpoznać długość buforu (eliminując konieczność należy określić argument rozmiar) i automatycznie można zastąpić starszych, które nie są bezpieczne funkcje z ich odpowiednikami nowsze, bezpieczne.Aby uzyskać więcej informacji, zobacz Secure, szablon Overloads.
Tekst rodzajowy rutynowych mapowania:
TCHAR.Rutynowe H |
_UNICODE & Nie zdefiniowano _MBCS |
_MBCS, definicja |
_UNICODE, definicja |
---|---|---|---|
_tstrdate_s |
_strdate_s |
_strdate_s |
_wstrdate_s |
Wymagania
Rozpoczęto wykonywanie procedury |
Wymaganego nagłówka |
---|---|
_strdate |
<time.h> |
_wstrdate |
<time.h> lub <wchar.h> |
_strdate_s |
<time.h> |
Przykład
Zobacz przykład dla czasu.
Odpowiednik w programie .NET Framework
Zobacz też
Informacje
ctime_s, _ctime32_s, _ctime64_s, _wctime_s, _wctime32_s, _wctime64_s
gmtime_s, _gmtime32_s, _gmtime64_s