_utime, _utime32 _utime64, _wutime, _wutime32, _wutime64

Задайте время изменения файла.

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
    Указатель на строку, содержащую путь или имя файла.

  • times
    Указатель на сохраненные значения времени.

Возвращаемое значение

Каждая из этих функций возвращает 0, если время файл-изменения было изменено.Возвращаемое значение - 1 указывает на ошибку.Если недопустимый параметр передается недопустимое значение параметра, то вызывается обработчик, как описано в разделе Проверка параметров.Если выполнение может быть продолжено, то эти функции возвращают -1. errno набор одно из следующих значений:

  • EACCES
    Путь указывает каталог или файл, доступный только для чтения

  • EINVAL
    Недопустимо times аргумент

  • EMFILE
    Слишком много открытых файлов (файл должен быть открыт для изменения его время изменения)

  • ENOENT
    Не обнаружены путь или имя файла

См. _doserrno, errno, _sys_errlist и _sys_nerr дополнительные сведения об этих и других, кодов возврата.

Дата можно изменить для файла, если дата изменения после полуночи 1-ое января 1970, и перед датой окончания, используемой функции._utime и _wutime используйте пакетом обновления 64 (sp2) значение времени, поэтому конечная дата 23:59: 59 - 31-ое декабря 3000, в формате UTC.If _USE_32BIT_TIME_T определяет, чтобы заставить старую расширения функциональности, дата окончания 03:14: 7-ое января 19, 2038 В формате UTC._utime32 OR _wutime32 тип время обновления 32 (sp2) независимо от того, используется ли _USE_32BIT_TIME_T определяет, и всегда имеет более раннюю дату окончания._utime64 OR _wutime64 всегда пользуйтесь 64 тип времени, поэтому эти функции всегда поддерживают более позднюю дату окончания.

Заметки

_utime функция задает время изменения файла указанного by filename*.* Процесс должен иметь доступ для записи к файлу изменить время.В окнах операционной системе, можно изменить времени измерения и время изменения _utimbuf структура.If times a NULL указатель, время изменения набора в местное время.В противном случае - times наведите указатель на структуру типа _utimbufопределяется в схеме SYS \ UTIME.H.

_utimbuf структура сохраняет время доступа и изменения файла, используемые by _utime изменение даты файл-изменения.Макет содержит следующие поля, которые оба типа time_t.

  • actime
    Время доступа к файлу

  • modtime
    Время изменения файла

Определенные версии _utimbuf структура (_utimebuf32 и __utimbuf64укажите использование пакетом обновления 32 (sp2) и пакетом обновления 64 (sp2) версии типа времени.Они используются в 32 - и 64 определенных версиях данной функции._utimbuf сама по умолчанию не будет использоваться, если тип время обновления 64 (sp2) _USE_32BIT_TIME_T указывает.

_utime идентичны _futime за исключением того, что filename аргумент _utime имя файла или путь к файлу, а не идентификатор файла, открытого файла.

_wutime версия расширенных символов _utime; filename аргумент _wutime строка символов.Эти функции ведут себя идентично в противном случае.

Сопоставления подпрограммы Родов-Текста

Подпрограмма TCHAR.H

_MBCS не заданные _UNICODE &

Указанный символ _MBCS

Указанный _UNICODE

_tutime

_utime

_utime

_wutime

_tutime32

_utime32

_utime32

_wutime32

_tutime64

_utime64

_utime64

_wutime64

Требования

Процедура

Обязательные заголовки

Необязательные заголовки

_utime, _utime32, _utime64

<sys или utime.h>

<errno.h>

_utime64

<sys или utime.h>

<errno.h>

_wutime

<utime.h> OR <wchar.h>

<errno.h>

Дополнительные сведения о совместимости см. Совместимость во введении.

Пример

Эта программа использует _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" );
}

Пример результатов выполнения

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

Эквивалент в .NET Framework

Неприменимо. Для c# используйте стандартная функция PInvoke. Дополнительные сведения см. в разделе Примеры вызовов неуправляемого кода.

См. также

Ссылки

Управление временем

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

time, _time32, _time64