_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

System::DateTime::Parse

Zobacz też

Informacje

Zarządzanie czasem

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