Aracılığıyla paylaş


_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_errlistve _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 filenamebelirtilen 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 timesNULL , değişiklik zamanı geçerli yerel saate ayarlanır. Aksi takdirde, times SYS\UTIME.H içinde tanımlanan türünde _utimbufbir 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 Tanım
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 _utimegeniş 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