_strdate_s
, _wstrdate_s
Salin tanggal sistem saat ini ke buffer. Fungsi-fungsi ini adalah versi _strdate
, _wstrdate
dengan peningkatan keamanan seperti yang dijelaskan dalam Fitur keamanan di CRT.
Sintaks
errno_t _strdate_s(
char *buffer,
size_t size
);
errno_t _wstrdate_s(
wchar_t *buffer,
size_t size
);
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
Parameter
buffer
Penunjuk ke buffer untuk meletakkan string tanggal yang diformat.
size
Ukuran buffer dalam unit karakter.
Nilai hasil
Nol jika berhasil. Nilai yang dikembalikan adalah kode kesalahan jika ada kegagalan. Kode kesalahan didefinisikan dalam ERRNO. H; lihat tabel di bawah ini untuk kesalahan tepat yang dihasilkan oleh fungsi ini. Untuk informasi selengkapnya tentang kode kesalahan, lihat errno
.
Kondisi kesalahan
buffer |
size |
Tampilkan | Isi dari buffer |
---|---|---|---|
NULL |
(apa saja) | EINVAL |
Tidak dimodifikasi |
Tidak NULL (menunjuk ke buffer yang valid) |
0 | EINVAL |
Tidak dimodifikasi |
Tidak NULL (menunjuk ke buffer yang valid) |
0 <size < 9 |
EINVAL |
String kosong |
Tidak NULL (menunjuk ke buffer yang valid) |
size >= 9 |
0 | Tanggal saat ini diformat seperti yang ditentukan dalam keterangan |
Masalah keamanan
Jika Anda meneruskan nilai non-NULL yang tidak valid untuk buffer
, itu menghasilkan pelanggaran akses jika size
parameter lebih besar dari sembilan.
Meneruskan nilai untuk size
lebih besar dari buffer
ukuran aktual hasil dalam buffer overrun.
Keterangan
Fungsi-fungsi ini menyediakan versi _strdate
dan _wstrdate
. Fungsi _strdate_s
menyalin tanggal sistem saat ini ke buffer yang ditujukkan oleh buffer
. Ini diformat mm/dd/yy
, di mana mm
adalah bulan dua digit, dd
adalah hari dua digit, dan yy
merupakan dua digit terakhir dalam setahun. Misalnya, string 12/05/99
mewakili 5 Desember 1999. Panjang buffer harus minimal sembilan karakter.
_wstrdate_s
adalah versi karakter yang luas dari _strdate_s
; argumen dan nilai yang dikembalikan adalah _wstrdate_s
string karakter lebar. Fungsi-fungsi ini berulah secara identik jika tidak.
Ketika buffer
adalah NULL
penunjuk, atau size
kurang dari sembilan karakter, handler parameter yang tidak valid dipanggil. Ini dijelaskan dalam Validasi parameter. Jika eksekusi diizinkan untuk melanjutkan, fungsi-fungsi ini mengembalikan -1. Mereka diatur errno
ke EINVAL
jika buffer adalah NULL
atau jika size
kurang dari atau sama dengan 0. Atau, mereka mengatur errno
ke ERANGE
jika size
kurang dari 9.
Di C++, penggunaan fungsi-fungsi ini disederhanakan oleh kelebihan beban templat. Kelebihan beban dapat menyimpulkan panjang buffer secara otomatis, yang menghilangkan kebutuhan untuk menentukan size
argumen. Dan, mereka dapat secara otomatis mengganti fungsi yang tidak aman dengan rekan-rekan yang lebih baru dan lebih aman. Untuk informasi selengkapnya, lihat Mengamankan kelebihan beban templat.
Versi pustaka debug dari fungsi-fungsi ini terlebih dahulu mengisi buffer dengan 0xFE. Untuk menonaktifkan perilaku ini, gunakan _CrtSetDebugFillThreshold
.
Secara default, status global fungsi ini dicakup ke aplikasi. Untuk mengubah perilaku ini, lihat Status global di CRT.
Pemetaan rutin teks generik:
TCHAR. Rutinitas H | _UNICODE dan _MBCS tidak ditentukan |
_MBCS Didefinisikan |
_UNICODE Didefinisikan |
---|---|---|---|
_tstrdate_s |
_strdate_s |
_strdate_s |
_wstrdate_s |
Persyaratan
Rutin | Header yang diperlukan |
---|---|
_strdate |
<time.h> |
_wstrdate |
<time.h> atau <wchar.h> |
_strdate_s |
<time.h> |
Contoh
Lihat contoh untuk time
.
Lihat juga
Manajemen waktu
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