Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Geçerli sistem tarihini arabelleğe kopyalayın. Bu işlevler, CRT'deki _wstrdateGüvenlik özellikleri bölümünde açıklandığı gibi güvenlik geliştirmeleri içeren sürümleridir.
Sözdizimi
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
Parametreler
buffer
Biçimlendirilmiş tarih dizesini yerleştirmek için arabelleğe işaretçi.
size
Arabelleğin karakter birimleri cinsinden boyutu.
Dönüş değeri
Başarılı olursa sıfır. Bir hata varsa dönüş değeri bir hata kodudur. Hata kodları ERRNO 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 errno. .
Hata koşulları
buffer |
size |
İade | İçeriği buffer |
|---|---|---|---|
NULL |
(herhangi biri) | EINVAL |
Değiştirilmedi |
Değil NULL (geçerli arabelleğe işaret ediyor) |
0 | EINVAL |
Değiştirilmedi |
Değil NULL (geçerli arabelleğe işaret ediyor) |
0 <size< 9 |
EINVAL |
Boş dize |
Değil NULL (geçerli arabelleğe işaret ediyor) |
size
>= 9 |
0 | Açıklamalarda belirtilen şekilde biçimlendirilmiş geçerli tarih |
Güvenlik sorunları
için buffergeçersiz, NULL olmayan bir değer geçirirseniz, parametresi dokuzdan büyükse erişim ihlaline size neden olur.
Gerçek boyutundan size büyük bir değer buffer geçirerek arabellek taşmasıyla sonuçlanması.
Açıklamalar
Bu işlevler ve'in _strdate_wstrdatedaha güvenli sürümlerini sağlar. İşlev, _strdate_s geçerli sistem tarihini tarafından bufferişaret edilen arabelleğe kopyalar. biçimlendirilir mm/dd/yy, burada mm iki basamaklı ay, dd iki basamaklı gün ve yy yılın son iki basamağıdır. Örneğin, dize 12/05/99 5 Aralık 1999'ı temsil eder. Arabellek en az dokuz karakter uzunluğunda olmalıdır.
_wstrdate_s , öğesinin _strdate_sgeniş karakterli bir sürümüdür; bağımsız değişkeni ve dönüş değeri _wstrdate_s geniş karakterli dizelerdir. Bu işlevler aynı şekilde davranır.
İşaretçi olduğunda bufferNULL veya size dokuz karakterden az olduğunda geçersiz parametre işleyicisi çağrılır. Parametre doğrulama bölümünde açıklanmıştır. Yürütmenin devam etmesi için izin verilirse, bu işlevler -1 döndürür. Arabelleğin errno 0'dan EINVAL küçük veya 0'a eşit olup olmadığını NULL olarak ayarlarsize. Veya 9'dan küçükse errno olarak ayarlanır ERANGEsize.
C++ dilinde bu işlevlerin kullanımı şablon aşırı yüklemeleriyle basitleştirilir. Aşırı yüklemeler arabellek uzunluğunu otomatik olarak çıkararak bağımsız size değişken belirtme gereksinimini ortadan kaldırır. Ayrıca, güvenli olmayan işlevleri otomatik olarak daha yeni ve daha güvenli karşıtlarıyla değiştirebilirler. Daha fazla bilgi için bkz . Güvenli şablon aşırı yüklemeleri.
Bu işlevlerin hata ayıklama kitaplığı sürümleri önce arabelleği 0xFE ile doldurur. Bu davranışı devre dışı bırakmak için kullanın _CrtSetDebugFillThreshold.
Varsayılan olarak, bu işlevin genel durumunun kapsamı uygulama olarak belirlenmiştir. Bu davranışı değiştirmek için bkz. CRT'de Genel durum.
Genel metin yordamı eşlemesi
| TCHAR.H yordamı |
_UNICODE ve _MBCS tanımlanmadı |
_MBCS tanımlanan |
_UNICODE tanımlanan |
|---|---|---|---|
_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
örneğine timebakın.
Ayrıca bkz.
Zaman yönetimi
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