_utime
, _utime32
, _utime64
, , _wutime
, _wutime32
, _wutime64
Dosya değiştirme süresini ayarlayın.
Sözdizimi
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
);
Parametreler
filename
Yolu veya dosya adını içeren bir dizenin işaretçisi.
times
Depolanan zaman değerlerinin işaretçisi.
Dönüş değeri
Dosya değiştirme süresi değiştirildiğinde bu işlevlerin her biri 0 döndürür. -1 dönüş değeri bir hatayı gösterir. Geçersiz bir parametre geçirilirse, parametre doğrulamasında açıklandığı gibi geçersiz parametre işleyicisi çağrılır. Yürütmenin devam etmesi için izin verilirse, bu işlevler -1 döndürür ve errno
aşağıdaki değerlerden birine ayarlanır:
errno değer |
Koşul |
---|---|
EACCES |
Yol, dizini veya salt okunur dosyayı belirtir |
EINVAL |
Geçersiz times bağımsız değişken |
EMFILE |
Çok fazla açık dosya (dosyanın değişiklik zamanını değiştirmek için açılması gerekir) |
ENOENT |
Yol veya dosya adı bulunamadı |
İade kodları hakkında daha fazla bilgi için bkz. errno
, _doserrno
, _sys_errlist
ve _sys_nerr
.
Değişiklik tarihi gece yarısından sonra, 1 Ocak 1970'e ve kullanılan işlevin bitiş tarihinden önceyse, dosya için tarih değiştirilebilir. _utime
ve _wutime
64 bit saat değeri kullandığınızdan bitiş tarihi 23:59:59, 31 Aralık 3000, UTC olur. Eski davranışı zorlamak için tanımlanırsa _USE_32BIT_TIME_T
, bitiş tarihi 18 Ocak 2038, UTC 23:59:59'dir. _utime32
veya _wutime32
tanımlanıp tanımlanmadığına _USE_32BIT_TIME_T
bakılmaksızın 32 bit saat türü kullanın ve her zaman en erken bitiş tarihine sahip olun. _utime64
veya _wutime64
her zaman 64 bit saat türünü kullanın, bu nedenle bu işlevler her zaman sonraki bitiş tarihini destekler.
Açıklamalar
işlevi, _utime
tarafından filename
belirtilen dosya için değişiklik süresini ayarlar. İşlemin saati değiştirebilmesi için dosyaya yazma erişimi olmalıdır. Windows işletim sisteminde, yapıdaki _utimbuf
erişim süresini ve değişiklik süresini değiştirebilirsiniz. bir işaretçiyse times
NULL
, değişiklik zamanı geçerli yerel saate ayarlanır. Aksi takdirde, times
SYS\UTIME.H içinde tanımlanan türünde _utimbuf
bir yapıya işaret etmelidir.
Yapı, _utimbuf
tarafından _utime
dosya değiştirme tarihlerini değiştirmek için kullanılan dosya erişim ve değişiklik sürelerini depolar. Yapısı aşağıdaki alanlara sahiptir ve her ikisi de türündedir time_t
:
Alan | Açıklama |
---|---|
actime |
Dosya erişim zamanı |
modtime |
Dosya değiştirme zamanı |
Yapının (__utimbuf32
ve __utimbuf64
) belirli sürümleri_utimbuf
, zaman türünün 32 bit ve 64 bit sürümleri kullanılarak tanımlanır. Bu yapılar, bu işlevin 32 bit ve 64 bit'e özgü sürümlerinde kullanılır. _utimbuf
tanımlanmadığı sürece _USE_32BIT_TIME_T
varsayılan olarak 64 bitlik bir zaman türü kullanır.
_utime
_futime
, bağımsız değişkeninin filename
_utime
açık bir dosyanın dosya tanımlayıcısı yerine dosya adı veya dosya yolu olması dışında aynıdır.
_wutime
, öğesinin _utime
geniş karakterli bir sürümüdür; filename
bağımsız değişkeni _wutime
geniş karakterli bir dizedir. Bu işlevler aynı şekilde davranır.
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 |
---|---|---|---|
_tutime |
_utime |
_utime |
_wutime |
_tutime32 |
_utime32 |
_utime32 |
_wutime32 |
_tutime64 |
_utime64 |
_utime64 |
_wutime64 |
Gereksinimler
Yordam | Gerekli üst bilgiler | İsteğe bağlı üst bilgiler |
---|---|---|
_utime , _utime32 , _utime64 |
<sys/utime.h> | <errno.h> |
_utime64 |
<sys/utime.h> | <errno.h> |
_wutime |
<utime.h> veya <wchar.h> | <errno.h> |
Daha fazla uyumluluk bilgisi için bkz . Uyumluluk.
Örnek
Bu program, dosya değiştirme süresini geçerli saate ayarlamak için kullanır _utime
.
// 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" );
}
Örnek çıktı
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
Ayrıca bkz.
Zaman yönetimi
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
işlevler
time
, _time32
, _time64