Aracılığıyla paylaş


_strtime_s, _wstrtime_s

Geçerli saati bir arabellek kopyalayın.Bunlar sürümleridir _strtime, _wstrtime açıklandığı gibi güvenlik geliştirmeleri ile crt güvenlik özellikleri.

errno_t _strtime_s(
   char *buffer,
   size_t numberOfElements
);
errno_t _wstrtime_s(
   wchar_t *buffer,
   size_t numberOfElements
);
template <size_t size>
errno_t _strtime_s(
   char (&buffer)[size]
); // C++ only
template <size_t size>
errno_t _wstrtime_s(
   wchar_t (&buffer)[size]
); // C++ only

Parametreler

  • [Çıkış]buffer
    Zaman yazılacağı bir arabellek, en az 10 bayt uzunluğunda.

  • [in]numberOfElements
    Arabellek boyutu.

Dönüş Değeri

Başarılı olursa sıfır.

Bir hata koşulu ortaya çıkarsa, geçersiz parametre işleyicisi, açıklandığı şekilde çağrılır Parametre doğrulama.Bir hata varsa dönüş değeri hata kodudur.Hata kodları HATANO 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: hatano sabitler.

Hata koşulları

buffer

numberOfElements

Return

İçeriğibuffer

NULL

(herhangi)

EINVAL

Modifiye edilmemiş

Değil NULL (geçerli arabellek işaret)

0

EINVAL

Modifiye edilmemiş

Değil NULL (geçerli arabellek işaret)

0 < Boyut < 9

EINVAL

Boş dize

Değil NULL (geçerli arabellek işaret)

Boyutu > 9

0

Geçerli saati açıklamalar da belirtildiği gibi biçimlendirilmiş

Güvenlik sorunları

Arabellek dosyasında bir erişim ihlali değilse sonuç için geçersiz bir boş olmayan değer geçirerek numberOfElements parametresi, 9 ' büyük.

Bir değeri geçirilmesi numberOfElements gerçek boyut arabellek arabellek taşması oluşmasına çok büyük.

Notlar

Daha güvenli sürümleri bu işlevleri sağlayan _strtime ve _wstrtime._strtime_s İşlevi geçerli yerel saattir göre sıralanmasını arabellek içine kopyalar timestr*.* Saat olarak biçimlendirilmiş hh:mm:ss burada hh saati 24 saatlik gösterimde temsil eden iki basamak olan mm olan iki basamaklı saat geçe temsil eden ve ss olan iki basamaklı saniye temsil eden.Örneğin, dize 18:23:44 6 p.m. geçen 23 dakika ve 44 saniye temsil eder.Arabellek en az 9 bayt uzunluğunda olmalıdır; Gerçek Boyut ikinci parametresi tarafından belirtilir.

_wstrtimegeniş karakter sürümü _strtime; bağımsız değişken ve dönüş değeri _wstrtime geniş karakter dizeleridir.Bu işlevler aynı şekilde aksi davranırlar.

C++'da, bu işlevler tarafından şablon aşırı kolaylaştırılmıştır; aşırı arabellek uzunluğu otomatik olarak gerçekleştirip (size baðýmsýz deðiþkeni belirtmek gereğini ortadan kaldırır) ve bunlar otomatik olarak yeni, güvenli karşılıkları ile eski, güvenli olmayan işlevler değiştirebilirsiniz.Daha fazla bilgi için bkz. Güvenli şablon aşırı yükleme.

Genel metin yordamı eşleştirmesi aşağıda verilmiştir:

TCHAR.H yordamına girildi

_UNICODE & _mbcs tanımlı değil

Tanımlanan _mbcs

Tanımlanan _UNICODE

_tstrtime_s

_strtime_s

_strtime_s

_wstrtime_s

Gereksinimler

Yordamı

Gerekli başlık

_strtime_s

<time.h>

_wstrtime_s

<time.h> veya <wchar.h>

Ek uyumluluk bilgileri için bkz: Uyumluluk giriş.

Örnek

// strtime_s.c

#include <time.h>
#include <stdio.h>

int main()
{
    char tmpbuf[9];
    errno_t err;

    // Set time zone from TZ environment variable. If TZ is not set,
    // the operating system is queried to obtain the default value 
    // for the variable. 
    //
    _tzset();

    // Display operating system-style date and time. 
    err = _strtime_s( tmpbuf, 9 );
    if (err)
    {
       printf("_strdate_s failed due to an invalid argument.");
      exit(1);
    }
    printf( "OS time:\t\t\t\t%s\n", tmpbuf );
    err = _strdate_s( tmpbuf, 9 );
    if (err)
    {
       printf("_strdate_s failed due to an invalid argument.");
       exit(1);
    }
    printf( "OS date:\t\t\t\t%s\n", tmpbuf );

}
  

.NET Framework Eşdeğeri

Ayrıca bkz.

Başvuru

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