_strdate_s, _wstrdate_s
Kopiuj bieżącą datę systemową do buforu.Są to wersje _strdate, _wstrdate z ulepszeń zabezpieczeń, zgodnie z opisem 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
[poza] buffer
Wskaźnik do buforu, który zostanie wprowadzona wartość ciągu daty sformatowane.[w] numberOfElements
Rozmiar buforu.
Wartość zwracana
0, jeśli kończy się pomyślnie.Wartość zwracana jest kod błędu, jeśli w przypadku awarii.Kody błędów są zdefiniowane w numer błędu.H; Zobacz tabelę poniżej dokładne błędów wygenerowanych przez tę funkcję.Aby uzyskać więcej informacji na temat kodów błędów, zobacz errno.
Warunki błędów
buffer |
numberOfElements |
Zwrot |
Zawartośćbuffer |
---|---|---|---|
NULL |
(wszystkie) |
EINVAL |
Nie zmodyfikowano |
Nie NULL (skierowana do ważnego bufora) |
0 |
EINVAL |
Nie zmodyfikowano |
Nie NULL (skierowana do ważnego bufora) |
0 < numberOfElements < 9 |
EINVAL |
Pusty ciąg znaków |
Nie NULL (skierowana do 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ść spowoduje buforu powoduje naruszenie zasad dostępu, jeśli numberOfElements parametr jest większa niż 9.
Przekazanie wartości do wielkości, która 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 buforu wskazywanego przez buffer, sformatowany mm/dd/yy, gdzie mm to dwie cyfry, reprezentującą miesiąc, dd to 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 zawierać co najmniej 9 znaków.
_wstrdate_sjest to wersja szeroko charakter _strdate_s; wartość argumentów i _wstrdate_s są ciągi znaków wide.W innych przypadkach funkcje te zachowują się identycznie.
Jeśli buffer jest NULL wskaźnik, lub jeśli numberOfElements jest mniejsza niż 9 znaków, obsługi nieprawidłowy parametr jest wywoływany, zgodnie z opisem w Sprawdzanie poprawności parametru.Jeśli wykonanie może być kontynuowana, funkcje te zwracają wartość -1 i ustaw errno do EINVAL Jeśli bufor jest NULL lub jeśli numberOfElements jest mniejsza niż lub równa 0 lub zestawu errno do ERANGE Jeśli numberOfElements jest niższa niż 9.
W języku programowania C++ korzystanie z tych funkcji jest uproszczone przez przeciążania szablonu; przeciążania mogą automatycznie wywnioskować długość buforu (tak, aby nie było konieczne określenie argumentu rozmiaru), ponadto te funkcje mogą automatycznie zastąpić starsze, niezabezpieczone funkcje nowszymi, bardziej bezpiecznymi odpowiednikami.Aby uzyskać więcej informacji, zobacz Przeciążenia bezpiecznych szablonów.
Tekst rodzajowy rutynowych mapowania:
Procedura Tchar.h |
_UNICODE & _MBCS nie zdefiniowano |
_MBCS zdefiniowano |
_UNICODE zdefiniowany |
---|---|---|---|
_tstrdate_s |
_strdate_s |
_strdate_s |
_wstrdate_s |
Wymagania
Procedura |
Wymagany nagłówek |
---|---|
_strdate |
<czas.h> |
_wstrdate |
<Time.h> lub <wchar.h> |
_strdate_s |
<czas.h> |
Przykład
Zobacz przykład dla czas.
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