_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. Дополнительные сведения см. в разделе Примеры вызовов неуправляемого кода.
См. также
Ссылки
ctime, _ctime32, _ctime64, _wctime, _wctime32, _wctime64
_fstat, _fstat32, _fstat64, _fstati64, _fstat32i64, _fstat64i32