ctime_s
, _ctime32_s
, _ctime64_s
, _wctime_s
, _wctime32_s
, _wctime64_s
Konversikan nilai waktu menjadi string dan sesuaikan untuk pengaturan zona waktu lokal. Fungsi-fungsi ini adalah versi ctime
, _ctime64
, _wctime
, _wctime64
dengan peningkatan keamanan seperti yang dijelaskan dalam Fitur keamanan di CRT.
Sintaks
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
Parameter
buffer
Harus cukup besar untuk menampung 26 karakter. Penunjuk ke hasil string karakter, atau NULL
jika:
sourceTime
menunjukkan tanggal sebelum tengah malam, 1 Januari 1970, UTC.Jika Anda menggunakan
_ctime32_s
atau_wctime32_s
dansourceTime
menunjukkan tanggal setelah 23:59:59 18 Januari 2038, UTC.Jika Anda menggunakan
_ctime64_s
atau_wctime64_s
dansourceTime
mewakili tanggal setelah 23:59:59, 31 Desember 3000, UTC.Jika Anda menggunakan
_ctime_s
atau_wctime_s
, fungsi-fungsi ini adalah pembungkus ke fungsi sebelumnya. Lihat bagian Keterangan.
numberOfElements
Ukuran buffer.
sourceTime
Penunjuk ke waktu tersimpan.
Nilai hasil
Nol jika berhasil. Jika ada kegagalan karena parameter yang tidak valid, handler parameter yang tidak valid dipanggil, seperti yang dijelaskan dalam Validasi parameter. Jika eksekusi diizinkan untuk melanjutkan, kode kesalahan dikembalikan. Kode kesalahan didefinisikan dalam ERRNO. H; untuk daftar kesalahan ini, lihat errno
. Kode kesalahan aktual yang dilemparkan untuk setiap kondisi kesalahan diperlihatkan dalam tabel berikut.
Kondisi kesalahan
buffer |
numberOfElements |
sourceTime |
Tampilkan | Nilai dalam buffer |
---|---|---|---|---|
NULL |
any | any | EINVAL |
Tidak dimodifikasi |
Bukan NULL (menunjuk ke memori yang valid) |
0 | any | EINVAL |
Tidak dimodifikasi |
Tidak NULL |
0< ukuran < 26 | any | EINVAL |
String kosong |
Tidak NULL |
>= 26 | NULL | EINVAL |
String kosong |
Tidak NULL |
>= 26 | < 0 | EINVAL |
String kosong |
Keterangan
Fungsi ini ctime_s
mengonversi nilai waktu yang disimpan sebagai time_t
struktur menjadi string karakter. Nilai sourceTime
biasanya diperoleh dari panggilan ke time
, yang mengembalikan jumlah detik yang berlalu sejak tengah malam (00:00:00), 1 Januari 1970, waktu universal terkoordinasi (UTC). String nilai yang dikembalikan berisi tepat 26 karakter dan memiliki formulir:
Wed Jan 2 02:03:55 1980\n\0
Jam 24 jam digunakan. Semua bidang memiliki lebar konstanta. Karakter baris baru ('\n') dan karakter null ('\0') menempati dua posisi terakhir string.
String karakter yang dikonversi juga disesuaikan sesuai dengan pengaturan zona waktu lokal. Untuk informasi tentang mengonfigurasi waktu lokal, lihat time
fungsi , _ftime
, dan localtime
. Untuk detail tentang menentukan lingkungan zona waktu dan variabel global, lihat fungsinya _tzset
.
_wctime32_s
dan _wctime64_s
merupakan versi karakter lebar dari _ctime32_s
dan _ctime64_s
; mengembalikan penunjuk ke string karakter lebar. Jika tidak, _ctime64_s
, , dan _wctime64_s
berulah identik dengan _ctime32_s
_wctime32_s
.
ctime_s
adalah fungsi sebaris yang mengevaluasi dan _ctime64_s
time_t
setara dengan __time64_t
. Jika Anda perlu memaksa pengkompilasi untuk menafsirkan time_t
sebagai 32-bit time_t
lama, Anda dapat menentukan _USE_32BIT_TIME_T
. Makro ini menyebabkan ctime_s
evaluasi ke _ctime32_s
. Kami tidak merekomendasikannya, karena aplikasi Anda mungkin gagal setelah 18 Januari 2038, dan tidak diizinkan pada platform 64-bit.
Di C++, menggunakan fungsi-fungsi ini disederhanakan oleh kelebihan beban templat; kelebihan beban dapat menyimpulkan panjang buffer secara otomatis, menghilangkan kebutuhan untuk menentukan argumen ukuran. Untuk informasi selengkapnya, lihat Mengamankan kelebihan beban templat.
Versi pustaka debug dari fungsi-fungsi ini terlebih dahulu mengisi buffer dengan 0xFE. Untuk menonaktifkan perilaku ini, gunakan _CrtSetDebugFillThreshold
.
Secara default, status global fungsi ini dicakup ke aplikasi. Untuk mengubah perilaku ini, lihat Status global di CRT.
Pemetaan rutin teks generik
TCHAR. Rutinitas H | _UNICODE dan _MBCS tidak ditentukan |
_MBCS Didefinisikan |
_UNICODE Didefinisikan |
---|---|---|---|
_tctime_s |
ctime_s |
ctime_s |
_wctime_s |
_tctime32_s |
_ctime32_s |
_ctime32_s |
_wctime32_s |
_tctime64_s |
_ctime64_s |
_ctime64_s |
_wctime64_s |
Persyaratan
Rutin | Header yang diperlukan |
---|---|
ctime_s , _ctime32_s , _ctime64_s |
<time.h> |
_wctime_s , _wctime32_s , _wctime64_s |
<time.h> atau <wchar.h> |
Untuk informasi kompatibilitas selengkapnya, lihat Kompatibilitas.
Pustaka
Semua versi pustaka run-time C.
Contoh
// 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
Baca juga
Manajemen waktu
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
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk