Aracılığıyla paylaş


asctime_s, _wasctime_s

Dönüştürme bir tm zaman yapısına bir karakter dizesi.Bu işlevler sürümleridir asctime, _wasctime açıklandığı gibi güvenlik geliştirmeleri ile crt güvenlik özellikleri.

errno_t asctime_s( 
   char* buffer,
   size_t numberOfElements,
   const struct tm *_tm 
);
errno_t _wasctime_s( 
   wchar_t* buffer,
   size_t numberOfElements
   const struct tm *_tm 
);
template <size_t size>
errno_t asctime_s( 
   char (&buffer)[size],
   const struct tm *_tm 
); // C++ only
template <size_t size>
errno_t _wasctime_s( 
   wchar_t (&buffer)[size],
   const struct tm *_tm 
); // C++ only

Parametreler

  • buffer
    [Çıkış] Arabellek karakter dizesi sonucu depolamak için bir işaretçi.Bu işlev belirtilen boyutta geçerli bellek konumu gösteren bir işaretçi varsayar numberOfElements.

  • numberOfElements
    [in] Sonucu depolamak için kullanılan arabellek boyutu.

  • _tm
    [in] Saat/tarih yapısı.Bu işlev geçerli bir işaretçi varsayar structtm nesne.

Dönüş Değeri

Başarılı olursa sıfır.Bir hata varsa, geçersiz parametre işleyicisi, açıklandığı şekilde çağrılır Parametre doğrulama.Yürütülmesine devam etmek için izin verilirse, dönüş değeri hata kodudur.Hata kodları HATANO tanımlanır.H.Daha fazla bilgi için bkz. errno sabitleri.Her hata durumu için döndürülen gerçek hata kodları aşağıdaki tabloda gösterilmiştir.

Hata koşulları

buffer

numberOfElements

tm

Return

İçindeki değerbuffer

NULL

Herhangi bir

Herhangi bir

EINVAL

Modifiye edilmemiş

DeğilNULL (noktaları için geçerli bellek)

0

Herhangi bir

EINVAL

Modifiye edilmemiş

DeğilNULL

0 < Boyut < 26

Herhangi bir

EINVAL

Boş dize

DeğilNULL

> = 26

NULL

EINVAL

Boş dize

DeğilNULL

> = 26

Geçersiz zaman yapısı veya bileşenler zaman aralığı değerleri

EINVAL

Boş dize

[!NOT]

Hata koşulları için wasctime_s benzer asctime_s özel durum sözcük sınırına ölçülür.

Notlar

asctime İşlevi bir karakter dizesi için bir yapı olarak depolanan bir süre dönüştürür._tm Değer bir çağrıya elde genellikle gmtime veya localtime.Her iki işlevi doldurmak için kullanılan bir tm , zaman içinde tanımlandığı şekilde yapılandırın.H.

timeptr üye

Value

tm_hour

Saat gece (0-23)

tm_isdst

Gün ışığından yararlanma saatine devrede ise pozitif; 0 gün ışığından yararlanma saatine etkili değildir; gün ışığından yararlanma saatine durumu bilinmeyen ise negatif.c Çalışma Zamanı Kitaplığı, gün ışığından yararlanma saatine (dst) hesaplama gerçekleştirmek için Amerika Birleşik Devletleri kuralları varsayar.

tm_mday

Ayın (günleri 1-31)

tm_min

Dakika sonra saat (0-59 arasında)

tm_mon

Ay (0–11; Ocak = 0)

tm_sec

Saniye sonra dakika (0-59 arasında)

tm_wday

Haftanın (0–6; Pazar = 0)

tm_yday

(0–365; Yılın günü Ocak 1 = 0)

tm_year

Yıl (geçerli yıl 1900 eksi)

Dönüştürülen karakter dizesi de yerel saat dilimi ayarlara göre ayarlanır.Bkz: time, _time32, _time64, _ftime, _ftime32, _ftime64, ve localtime_s, _localtime32_s, _localtime64_s yerel saat yapılandırma hakkında daha fazla bilgi için İşlevler ve _tzset işlev genel değişkenleri ve saat dilimi ortamı tanımlama hakkında daha fazla bilgi için.

Yapımcı dize sonucu asctime_s tam olarak 26 karakter içerir ve aþaðýdaki biçime sahip Wed Jan 02 02:03:55 1980\n\0.24 Saatlik zaman biçimi kullanılır.Tüm alanları bir sabit genişliğe sahip olur.Yeni satır karakteri ve boş karakter dizesinin son iki pozisyon kaplar.İkinci parametre olarak geçirilen değerin en az bu büyük olması gerekir.Bir hata kodu daha düşük ise, EINVAL, döndürülür.

_wasctime_sgeniş karakter sürümü asctime_s._wasctime_sve asctime_s Aksi takdirde aynı şekilde davranır.

Genel metin yordamı eşleme

TCHAR.H yordamına girildi

_UNICODE & _mbcs tanımlı değil

Tanımlanan _mbcs

Tanımlanan _UNICODE

_tasctime_s

asctime_s

asctime_s

_wasctime_s

C++'da, bu işlevler tarafından şablon aşırı kolaylaştırılmıştır; aşırı arabellek uzunluğu otomatik olarak size baðýmsýz deðiþkeni belirtmek için gereksiz gerçekleştirip.Daha fazla bilgi için bkz. Güvenli şablon aşırı yükleme.

Gereksinimler

Yordamı

Gerekli başlık

asctime_s

<time.h>

_wasctime_s

<time.h> veya <wchar.h>

Güvenlik

Arabellek işaretçi yoksa NULL ve işaretçi geçerli bir arabelleğe göstermiyor, ne olursa olsun konumdadır işlevi üzerine yazılır.Bu da erişim ihlaline neden olabilir.

A arabellek taşması geçirilen size baðýmsýz deðiþkeni arabellek boyutunun daha büyük olması durumunda oluşabilir.

Örnek

Bu program uzun tamsayı sistem saatini koyar aclock, yapısına çevirir newtime ve sonra dize biçimini kullanarak, çıkış asctime_s işlevi.

// crt_asctime_s.c
#include <time.h>
#include <stdio.h>

struct tm newtime;
__time32_t aclock;

int main( void )
{
   char buffer[32];
   errno_t errNum;
   _time32( &aclock );   // Get time in seconds.
   _localtime32_s( &newtime, &aclock );   // Convert time to struct tm form.

   // Print local time as a string.

   errNum = asctime_s(buffer, 32, &newtime);
   if (errNum)
   {
       printf("Error code: %d", (int)errNum);
       return 1;
   }
   printf( "Current date and time: %s", buffer );
   return 0;
}
  

.NET Framework Eşdeğeri

Ayrıca bkz.

Başvuru

Zaman Yönetimi

ctime_s, _ctime32_s, _ctime64_s, _wctime_s, _wctime32_s, _wctime64_s

_ftime, _ftime32, _ftime64

gmtime_s, _gmtime32_s, _gmtime64_s

localtime_s, _localtime32_s, _localtime64_s

time, _time32, _time64

_tzset