_strdate_s, _wstrdate_s
Geçerli sistem tarihini bir arabellek kopyalayın.Bu sürümleri şunlardır: _strdate, _wstrdate 'de açıklanan güvenlik yenilikleri ile CRT'deki Güvenlik Özellikleri.
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
Parametreler
[out] buffer
Biçimlendirilmiş bir tarih dizesi ile doldurulacak bir arabellek için bir işaretçi.[in] numberOfElements
Arabelleğin boyutu.
Dönüş Değeri
Başarılı olursa sıfır.Bir hata varsa dönüş değeri bir hata kodudur.Hata kodları HATANO içinde tanımlanır.H; Bu işlev tarafından oluşturulan tam hatalar için aşağıdaki tabloya bakın.Hata kodları hakkında daha fazla bilgi için bkz: Hata No.
Hata Durumları
buffer |
numberOfElements |
Return |
buffer içeriği |
---|---|---|---|
NULL |
(herhangi biri) |
EINVAL |
Modifiye edilmemiş |
Değil NULL (geçerli arabellek için işaret) |
0 |
EINVAL |
Modifiye edilmemiş |
Değil NULL (geçerli arabellek için işaret) |
0 < numberOfElements < 9 |
EINVAL |
Boş dize |
Değil NULL (geçerli arabellek için işaret) |
numberOfElements >= 9 |
0 |
Geçerli tarih biçimli belirtildiği gibi açıklamalar |
Güvenlik sorunları
Geçersiz içinde olmayan geçirerek NULL arabellek erişim ihlaline neden olur için değer numberOfElements parametre 9'dan büyük.
Boyut değerlerini geçirmeden boyutunun daha büyük buffer arabellek taşmasına neden olur.
Notlar
Bu işlevleri sağlayan daha güvenli sürümlerini _strdate ve _wstrdate._strdate_s İşlevi tarafından işaret arabellek geçerli sistem tarihini kopyalar buffer, biçimlendirilmiş mm/dd/yy, nerede mm olan iki basamağı ayı temsil eden dd günü gösteren iki basamak olur ve yy yılın son iki basamağını olur.Örneğin, dize 12/05/99 5 Aralık 1999 temsil eder.Arabellek en az 9 karakter uzunluğunda olmalıdır.
_wstrdate_sbir geniş karakter sürümü _strdate_s; YAZMAÇ değeri _wstrdate_s geniş karakter dizeleridir.Bu işlevler, aksi halde aynı şekilde davranır.
Varsa buffer olan bir NULL işaretçisi veya numberOfElements açıklandığı gibi geçersiz bir parametre işleyici çağrılır, 9'dan az karakter Parametre Doğrulama.Yürütülmesine devam etmek için izin verilirse, bu işlevler -1 döndürür ve errno için EINVAL arabellek ise NULL veya numberOfElements daha az veya eşit 0 ya da set errno için ERANGE , numberOfElements 9'dan az olan.
C++ dilinde bu işlevleri kullanmak şablon aşırı yüklemeleriyle basitleştirilmiştir; aşırı yüklemeler arabellek uzunluğunu otomatik olarak çıkarabilir (bir boyut bağımsız değişkeni belirtme gereksinimi ortadan kalkar) ve bunlar otomatik olarak eski ve güvenli olmayan işlevlerle daha yeni ve güvenli karşılıklarını değiştirir.Daha fazla bilgi için bkz. Güvenli Şablon Aşırı Yüklemeleri.
Olağan genel metin eşleme:
TCHAR.H yordamı |
_UNICODE & _MBCS tanımlanmamış |
_MBCS tanımlanmış |
_UNICODE tanımlanmış |
---|---|---|---|
_tstrdate_s |
_strdate_s |
_strdate_s |
_wstrdate_s |
Gereksinimler
Yordam |
Gerekli başlık |
---|---|
_strdate |
<time.h> |
_wstrdate |
<time.h> veya <wchar.h> |
_strdate_s |
<time.h> |
Örnek
Örnek için bkz: zaman.
.NET Framework Eşdeğeri
Ayrıca bkz.
Başvuru
ctime_s, _ctime32_s, _ctime64_s, _wctime_s, _wctime32_s, _wctime64_s
gmtime_s, _gmtime32_s, _gmtime64_s