ctime_s
, _ctime32_s
, _ctime64_s
, , _wctime_s
, _wctime32_s
, _wctime64_s
Bir saat değerini dizeye dönüştürün ve yerel saat dilimi ayarları için ayarlayın. Bu işlevler, CRT'deki ctime
Güvenlik özellikleri bölümünde açıklandığı gibi güvenlik geliştirmeleri içeren , _ctime64
, _wctime
, _wctime64
sürümleridir.
Sözdizimi
errno_t ctime_s(
char* buffer,
size_t numberOfElements,
const time_t *sourceTime
);
errno_t _ctime32_s(
char* buffer,
size_t numberOfElements,
const __time32_t *sourceTime
);
errno_t _ctime64_s(
char* buffer,
size_t numberOfElements,
const __time64_t *sourceTime )
;
errno_t _wctime_s(
wchar_t* buffer,
size_t numberOfElements,
const time_t *sourceTime
);
errno_t _wctime32_s(
wchar_t* buffer,
size_t numberOfElements,
const __time32_t *sourceTime
);
errno_t _wctime64_s(
wchar_t* buffer,
size_t numberOfElements,
const __time64_t *sourceTime
);
template <size_t size>
errno_t _ctime32_s(
char (&buffer)[size],
const __time32_t *sourceTime
); // C++ only
template <size_t size>
errno_t _ctime64_s(
char (&buffer)[size],
const __time64_t *sourceTime
); // C++ only
template <size_t size>
errno_t _wctime32_s(
wchar_t (&buffer)[size],
const __time32_t *sourceTime
); // C++ only
template <size_t size>
errno_t _wctime64_s(
wchar_t (&buffer)[size],
const __time64_t *sourceTime
); // C++ only
Parametreler
buffer
26 karakteri barındıracak kadar büyük olmalıdır. Karakter dizesi sonucunun işaretçisi veya NULL
şu durum:
sourceTime
, 1 Ocak 1970( UTC) gece yarısından önceki bir tarihi temsil eder.veya
_wctime32_s
kullanıyorsanız_ctime32_s
vesourceTime
18 Ocak 2038 UTC saat 23:59:59'dan sonraki bir tarihi temsil ediyorsanız.veya
_wctime64_s
kullanıyorsanız_ctime64_s
vesourceTime
23:59:59, 31 Aralık 3000, UTC'dan sonraki bir tarihi temsil ediyorsanız.veya
_wctime_s
kullanıyorsanız_ctime_s
, bu işlevler önceki işlevlere sarmalayıcılardır. Açıklamalar bölümüne bakın.
numberOfElements
Arabelleğin boyutu.
sourceTime
Depolanan süre işaretçisi.
Dönüş değeri
Başarılı olursa sıfır. Geçersiz bir parametreden kaynaklanan bir hata varsa, Parametre doğrulama bölümünde açıklandığı gibi geçersiz parametre işleyicisi çağrılır. Yürütmenin devam etmesi için izin verilirse bir hata kodu döndürülür. Hata kodları ERRNO içinde tanımlanır. H; bu hataların listesi için bkz errno
. . Her hata koşulu için gerçek hata kodları aşağıdaki tabloda gösterilmiştir.
Hata koşulları
buffer |
numberOfElements |
sourceTime |
İade | içindeki değer buffer |
---|---|---|---|---|
NULL |
herhangi bir | herhangi bir | EINVAL |
Değiştirilmedi |
Değil NULL (geçerli belleğe işaret eden) |
0 | herhangi bir | EINVAL |
Değiştirilmedi |
Değil NULL |
0< boyut < 26 | herhangi bir | EINVAL |
Boş dize |
Değil NULL |
>= 26 | NULL | EINVAL |
Boş dize |
Değil NULL |
>= 26 | < 0 | EINVAL |
Boş dize |
Açıklamalar
işlevi, ctime_s
yapı olarak time_t
depolanan bir zaman değerini karakter dizesine dönüştürür. Değer sourceTime
genellikle gece yarısından (00:00:00), 1 Ocak 1970'ten (UTC) itibaren geçen saniye sayısını döndüren çağrısından time
elde edilir. Dönüş değeri dizesi tam olarak 26 karakter içerir ve şu forma sahiptir:
Wed Jan 2 02:03:55 1980\n\0
24 saat kullanılır. Tüm alanların genişliği sabit olur. Yeni satır karakteri ('\n') ve null karakter ('\0') dizenin son iki konumunda yer alır.
Dönüştürülen karakter dizesi de yerel saat dilimi ayarlarına göre ayarlanır. Yerel saati yapılandırma hakkında bilgi için bkz time
. , _ftime
ve localtime
işlevleri. Saat dilimi ortamını ve genel değişkenleri tanımlama hakkında ayrıntılı bilgi için işleve _tzset
bakın.
_wctime32_s
ve _wctime64_s
öğesinin geniş karakterli sürümüdür _ctime32_s
_ctime64_s
; geniş karakterli dizeye bir işaretçi döndürür. Aksi takdirde , _ctime64_s
_wctime32_s
ve _wctime64_s
ile aynı şekilde _ctime32_s
davranır.
ctime_s
, olarak değerlendirilen _ctime64_s
ve time_t
ile eşdeğer __time64_t
olan bir satır içi işlevdir. Derleyiciyi eski 32 bit time_t
olarak yorumlamaya time_t
zorlamanız gerekiyorsa tanımlayabilirsiniz_USE_32BIT_TIME_T
. Bu makro değerinin değerlendirmesine _ctime32_s
neden olurctime_s
. Uygulamanız 18 Ocak 2038'in ardından başarısız olabileceği ve 64 bit platformlarda izin verilmediğinden bunu önermiyoruz.
C++'ta bu işlevlerin kullanılması şablon aşırı yüklemeleriyle basitleştirilir; aşırı yüklemeler arabellek uzunluğunu otomatik olarak çıkararak boyut bağımsız değişkeni belirtme gereksinimini ortadan kaldırır. 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şlemeleri
TCHAR.H yordamı | _UNICODE ve _MBCS tanımlanmadı |
_MBCS tanımlanan |
_UNICODE tanımlanan |
---|---|---|---|
_tctime_s |
ctime_s |
ctime_s |
_wctime_s |
_tctime32_s |
_ctime32_s |
_ctime32_s |
_wctime32_s |
_tctime64_s |
_ctime64_s |
_ctime64_s |
_wctime64_s |
Gereksinimler
Yordam | Gerekli başlık |
---|---|
ctime_s , _ctime32_s , _ctime64_s |
<time.h> |
_wctime_s , _wctime32_s , _wctime64_s |
<time.h> veya <wchar.h> |
Daha fazla uyumluluk bilgisi için bkz . Uyumluluk.
Kitaplıklar
C çalışma zamanı kitaplıklarının tüm sürümleri.
Örnek
// crt_wctime_s.c
// This program gets the current
// time in time_t form and then uses _wctime_s to
// display the time in string form.
#include <time.h>
#include <stdio.h>
#define SIZE 26
int main( void )
{
time_t ltime;
wchar_t buf[SIZE];
errno_t err;
time( <ime );
err = _wctime_s( buf, SIZE, <ime );
if (err != 0)
{
printf("Invalid Arguments for _wctime_s. Error Code: %d\n", err);
}
wprintf_s( L"The time is %s\n", buf );
}
The time is Fri Apr 25 13:03:39 2003
Ayrıca bkz.
Zaman yönetimi
asctime_s
, _wasctime_s
ctime
, _ctime32
, _ctime64
, , _wctime
, _wctime32
, _wctime64
_ftime
, _ftime32
, _ftime64
gmtime_s
, _gmtime32_s
, _gmtime64_s
localtime_s
, _localtime32_s
, _localtime64_s
time
, _time32
, _time64