_utime
, , _utime32
_utime64
, _wutime
, , _wutime32
,_wutime64
Atur waktu modifikasi file.
int _utime(
const char *filename,
struct _utimbuf *times
);
int _utime32(
const char *filename,
struct __utimbuf32 *times
);
int _utime64(
const char *filename,
struct __utimbuf64 *times
);
int _wutime(
const wchar_t *filename,
struct _utimbuf *times
);
int _wutime32(
const wchar_t *filename,
struct __utimbuf32 *times
);
int _wutime64(
const wchar_t *filename,
struct __utimbuf64 *times
);
filename
Penunjuk ke string yang berisi jalur atau nama file.
times
Penunjuk ke nilai waktu tersimpan.
Masing-masing fungsi ini mengembalikan 0 jika waktu modifikasi file diubah. Nilai pengembalian -1 menunjukkan kesalahan. Jika parameter yang tidak valid diteruskan, handler parameter yang tidak valid dipanggil, seperti yang dijelaskan dalam Validasi parameter. Jika eksekusi diizinkan untuk melanjutkan, fungsi-fungsi ini mengembalikan -1, dan errno
diatur ke salah satu nilai berikut:
errno nilai |
Kondisi |
---|---|
EACCES |
Jalur menentukan file direktori atau baca-saja |
EINVAL |
Argumen tidak valid times |
EMFILE |
Terlalu banyak file terbuka (file harus dibuka untuk mengubah waktu modifikasinya) |
ENOENT |
Jalur atau nama file tidak ditemukan |
Untuk informasi selengkapnya tentang kode pengembalian, lihat errno
, , _doserrno
_sys_errlist
, dan _sys_nerr
.
Tanggal dapat diubah untuk file jika tanggal perubahan setelah tengah malam, 1 Januari 1970, dan sebelum tanggal akhir fungsi yang digunakan. _utime
dan _wutime
gunakan nilai waktu 64-bit, sehingga tanggal akhir adalah 23:59:59, 31 Desember 3000, UTC. Jika _USE_32BIT_TIME_T
didefinisikan untuk memaksa perilaku lama, tanggal akhir adalah 23:59:59 18 Januari 2038, UTC. _utime32
atau _wutime32
gunakan jenis waktu 32-bit terlepas dari apakah _USE_32BIT_TIME_T
ditentukan, dan selalu memiliki tanggal akhir sebelumnya. _utime64
atau _wutime64
selalu gunakan jenis waktu 64-bit, sehingga fungsi-fungsi ini selalu mendukung tanggal akhir yang lebih baru.
Fungsi _utime
mengatur waktu modifikasi untuk file yang ditentukan oleh filename
. Proses harus memiliki akses tulis ke file untuk mengubah waktu. Dalam sistem operasi Windows, Anda dapat mengubah waktu akses dan waktu modifikasi dalam _utimbuf
struktur. Jika times
adalah NULL
penunjuk, waktu modifikasi diatur ke waktu lokal saat ini. Jika tidak, times
harus menunjuk ke struktur jenis _utimbuf
, yang ditentukan dalam SYS\UTIME.H.
Struktur _utimbuf
menyimpan waktu akses dan modifikasi file yang digunakan oleh _utime
untuk mengubah tanggal modifikasi file. Struktur memiliki bidang berikut, yang keduanya berjenis time_t
:
Bidang | Deskripsi |
---|---|
actime |
Waktu akses file |
modtime |
Waktu modifikasi file |
Versi _utimbuf
struktur tertentu (__utimbuf32
dan __utimbuf64
) didefinisikan menggunakan versi 32-bit dan 64-bit dari jenis waktu. Struktur ini digunakan dalam versi spesifik 32-bit dan 64-bit dari fungsi ini. _utimbuf
sendiri secara default menggunakan jenis waktu 64-bit kecuali _USE_32BIT_TIME_T
ditentukan.
_utime
identik dengan _futime
kecuali bahwa filename
argumen _utime
adalah nama file atau jalur ke file, bukan pendeskripsi file dari file yang terbuka.
_wutime
adalah versi karakter luas dari _utime
; filename
argumen ke _wutime
adalah string karakter lebar. Fungsi-fungsi ini berulah secara identik jika tidak.
Secara default, status global fungsi ini dicakup ke aplikasi. Untuk mengubah perilaku ini, lihat Status global di CRT.
TCHAR. Rutinitas H | _UNICODE dan _MBCS tidak ditentukan |
_MBCS Didefinisikan |
_UNICODE Didefinisikan |
---|---|---|---|
_tutime |
_utime |
_utime |
_wutime |
_tutime32 |
_utime32 |
_utime32 |
_wutime32 |
_tutime64 |
_utime64 |
_utime64 |
_wutime64 |
Rutin | Header wajib | Header opsional |
---|---|---|
_utime , , _utime32 _utime64 |
<sys/utime.h> | <errno.h> |
_utime64 |
<sys/utime.h> | <errno.h> |
_wutime |
<utime.h> atau <wchar.h> | <errno.h> |
Untuk informasi kompatibilitas selengkapnya, lihat Kompatibilitas.
Program ini menggunakan _utime
untuk menyetel waktu modifikasi berkas ke waktu saat ini.
// crt_utime.c
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/utime.h>
#include <time.h>
int main( void )
{
struct tm tma = {0}, tmm = {0};
struct _utimbuf ut;
// Fill out the accessed time structure
tma.tm_hour = 12;
tma.tm_isdst = 0;
tma.tm_mday = 15;
tma.tm_min = 0;
tma.tm_mon = 0;
tma.tm_sec = 0;
tma.tm_year = 103;
// Fill out the modified time structure
tmm.tm_hour = 12;
tmm.tm_isdst = 0;
tmm.tm_mday = 15;
tmm.tm_min = 0;
tmm.tm_mon = 0;
tmm.tm_sec = 0;
tmm.tm_year = 102;
// Convert tm to time_t
ut.actime = mktime(&tma);
ut.modtime = mktime(&tmm);
// Show file time before and after
system( "dir crt_utime.c" );
if( _utime( "crt_utime.c", &ut ) == -1 )
perror( "_utime failed\n" );
else
printf( "File time modified\n" );
system( "dir crt_utime.c" );
}
Volume in drive C has no label.
Volume Serial Number is 9CAC-DE74
Directory of C:\test
01/09/2003 05:38 PM 935 crt_utime.c
1 File(s) 935 bytes
0 Dir(s) 20,742,955,008 bytes free
File time modified
Volume in drive C has no label.
Volume Serial Number is 9CAC-DE74
Directory of C:\test
01/15/2002 12:00 PM 935 crt_utime.c
1 File(s) 935 bytes
0 Dir(s) 20,742,955,008 bytes free
Manajemen waktu
asctime
, _wasctime
ctime
, , _ctime32
_ctime64
, _wctime
, , _wctime32
,_wctime64
_fstat
, , _fstat32
_fstat64
, _fstati64
, , _fstat32i64
,_fstat64i32
_ftime
, , _ftime32
_ftime64
_futime
, , _futime32
_futime64
gmtime
, , _gmtime32
_gmtime64
localtime
, , _localtime32
_localtime64
_stat
, _wstat
fungsi
time
, , _time32
_time64