Поделиться через


_futime, _futime32, _futime64

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

int _futime( 
   int fd,
   struct _utimbuf *filetime 
);
int _futime32( 
   int fd,
   struct __utimbuf32 *filetime 
);
int _futime64( 
   int fd,
   struct __utimbuf64 *filetime 
);

Параметры

  • fd
    Дескриптор открытого файла.

  • filetime
    Указатель на структуру, содержащую новую дату изменения.

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

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

Заметки

Процедура _futime задает дату изменения и обращения к открытому файлу, связанному с fd*.* _futime идентична _utime, за исключением того, что её аргумент - это дескриптор открытого файла, а не имя файла или путь к нему. Структура _utimbuf содержит поля для новых дат изменения файла и доступа к нему. Оба поля должны содержать допустимые значения. _utimbuf32 и _utimbuf64 идентичны _utimbuf, за исключением того, что они используют 32 и 64 разрядные типы времени соответственно. _futime и _utimbuf используют 64-разрядный тип времени, и _futime идентична своим поведением функции _futime64. Если необходимо использовать старое поведение, укажите _USE_32BIT_TIME_T. Это приведёт к тому, что поведение _futime будет совпадать с поведением _futime32, а также к тому, что структура _utimbuf будет использовать 32-разрядный тип времени, что сделает ее эквивалентной __utimbuf32.

_futime64, которая использует структуру __utimbuf64, может считывать и изменять даты файлов до 23:59:59, 31-е декабря 3000, время в формате UTC; в то время как вызов _futime32 завершается неудачей, если дата в файле позже 19:14:07 18-го января 2038, время в формате UTC. Полночь 1-ого января 1970 года - нижняя граница диапазона дат для этих функций.

Требования

Функция

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

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

_futime

<sys/utime.h>

<errno.h>

_futime32

<sys/utime.h>

<errno.h>

_futime64

<sys/utime.h>

<errno.h>

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

Пример

// crt_futime.c
// This program uses _futime to set the
// file-modification time to the current time.
 
#include <stdio.h>
#include <stdlib.h>
#include <fcntl.h>
#include <io.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/utime.h>
#include <share.h>

int main( void )
{
   int hFile;

   // Show file time before and after. 
   system( "dir crt_futime.c_input" );

   _sopen_s( &hFile, "crt_futime.c_input", _O_RDWR, _SH_DENYNO, 0 );

   if( _futime( hFile, NULL ) == -1 )
      perror( "_futime failed\n" );
   else
      printf( "File time modified\n" );

   _close (hFile);

   system( "dir crt_futime.c_input" );
}

Input: crt_futime.c_input

Arbitrary file contents.

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

Volume in drive Z has no label.
 Volume Serial Number is 5C68-57C1

 Directory of Z:\crt

03/25/2004  10:40 AM                24 crt_futime.c_input
               1 File(s)             24 bytes
               0 Dir(s)  24,268,476,416 bytes free
 Volume in drive Z has no label.
 Volume Serial Number is 5C68-57C1

 Directory of Z:\crt

03/25/2004  10:41 AM                24 crt_futime.c_input
               1 File(s)             24 bytes
               0 Dir(s)  24,268,476,416 bytes free
File time modified

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

См. также

Ссылки

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