_utime
, , _utime32
_utime64
, _wutime
, , _wutime32
,_wutime64
Atur waktu modifikasi file.
Sintaks
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
);
Parameter
filename
Penunjuk ke string yang berisi jalur atau nama file.
times
Penunjuk ke nilai waktu tersimpan.
Nilai hasil
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.
Keterangan
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.
Pemetaan rutin teks generik
TCHAR. Rutinitas H | _UNICODE dan _MBCS tidak ditentukan |
_MBCS Didefinisikan |
_UNICODE Didefinisikan |
---|---|---|---|
_tutime |
_utime |
_utime |
_wutime |
_tutime32 |
_utime32 |
_utime32 |
_wutime32 |
_tutime64 |
_utime64 |
_utime64 |
_wutime64 |
Persyaratan
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.
Contoh
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" );
}
Sampel output
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
Lihat juga
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