Udostępnij za pośrednictwem


_futime, _futime32, _futime64

Ustawia czas modyfikacji otwartego pliku.

Składnia

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

Parametry

fd
Deskryptor plików do otwartego pliku.

filetime
Wskaźnik do struktury zawierającej nową datę modyfikacji.

Wartość zwracana

Jeśli operacja powiedzie się, zwróć wartość 0. Jeśli wystąpi błąd, wywoływana jest nieprawidłowa procedura obsługi parametrów, zgodnie z opisem w temacie Weryfikacja parametrów. Jeśli wykonywanie jest dozwolone do kontynuowania, funkcja zwraca wartość -1 i errno jest ustawiona na EBADF, wskazując nieprawidłowy deskryptor pliku lub EINVAL, wskazując nieprawidłowy parametr.

Uwagi

Procedury _futime ustawia datę modyfikacji i godzinę dostępu w otwartym pliku skojarzonym z fdprogramem . _futime jest taka sama jak _utime, z tą różnicą, że jej argumentem jest deskryptor pliku otwartego, a nie nazwą pliku lub ścieżką do pliku. Struktura _utimbuf zawiera pola dla nowej daty modyfikacji i godziny dostępu. Oba pola muszą zawierać prawidłowe wartości. _utimbuf32 i _utimbuf64 są identyczne _utimbuf z wyjątkiem użycia 32-bitowych i 64-bitowych typów czasu, odpowiednio. _futime i _utimbuf użyj 64-bitowego typu czasu i _futime jest identyczny w zachowaniu do _futime64. Jeśli musisz wymusić stare zachowanie, zdefiniuj wartość _USE_32BIT_TIME_T. Wykonanie tej czynności powoduje _futime , że zachowanie _futime32 jest identyczne z i powoduje _utimbuf , że struktura używa typu czasu 32-bitowego, co odpowiada __utimbuf32.

_futime64, który używa __utimbuf64 struktury, może odczytywać i modyfikować daty plików do 23:59:59, 31 grudnia 3000, UTC; podczas gdy wywołanie kończy się _futime32 niepowodzeniem, jeśli data w pliku jest późniejsza niż 23:59:59 18 stycznia 2038 r. UTC. Północ, 1 stycznia 1970 r., jest dolną granicą zakresu dat dla tych funkcji.

Domyślnie stan globalny tej funkcji jest zakresem aplikacji. Aby zmienić to zachowanie, zobacz Stan globalny w CRT.

Wymagania

Function Wymagany nagłówek Opcjonalny nagłówek
_futime <sys/utime.h> <errno.h>
_futime32 <sys/utime.h> <errno.h>
_futime64 <sys/utime.h> <errno.h>

Aby uzyskać więcej informacji o zgodności, zobacz Zgodność.

Przykład

// 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" );
}

Dane wejściowe: crt_futime.c_input

Arbitrary file contents.

Przykładowe dane wyjściowe

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

Zobacz też

Zarządzanie czasem