Condividi tramite


_futime, _futime32, _futime64

Imposta la data di modifica in un file aperto.

Sintassi

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

Parametri

fd
Descrittore di file del file aperto.

filetime
Puntatore alla struttura contenente la nuova data di modifica.

Valore restituito

Restituisce 0 in caso di esito positivo. Se si verifica un errore, viene richiamato il gestore di parametri non validi, come descritto in Convalida dei parametri. Se l'esecuzione può continuare, la funzione restituisce -1 ed errno è impostata su EBADF, che indica un descrittore di file non valido o EINVAL, che indica un parametro non valido.

Osservazioni:

La _futime routine imposta la data di modifica e l'ora di accesso nel file aperto associato a fd. _futime è identico a _utime, ad eccezione del fatto che il relativo argomento è il descrittore di file di un file aperto, anziché il nome di un file o un percorso di un file. La struttura _utimbuf contiene i campi per la nuova data di modifica e l'ora di accesso. Entrambi i campi devono contenere valori validi. _utimbuf32 e _utimbuf64 sono identici a _utimbuf tranne per l'uso dei tipi di ora a 32 bit e 64 bit, rispettivamente. _futime e _utimbuf usano un tipo di tempo a 64 bit e _futime ha un comportamento identico a _futime64. Se è necessario forzare il comportamento precedente, definire _USE_32BIT_TIME_T. In questo modo, il comportamento di _futime sarà identico a _futime32 e fa sì che la struttura _utimbuf usi il tipo di tempo a 32 bit, rendendolo equivalente a __utimbuf32.

_futime64, che usa la struttura __utimbuf64, può leggere e modificare le date di file fino alle 23.59.59 del 31 dicembre 3000 UTC, mentre una chiamata a _futime32 ha esito negativo se la data del file è successiva alle 23.59.59 del 18 gennaio 2038 UTC. La mezzanotte del 1 gennaio 1970 è il limite inferiore dell'intervallo di date per queste funzioni.

Per impostazione predefinita, lo stato globale di questa funzione è limitato all'applicazione. Per modificare questo comportamento, vedere Stato globale in CRT.

Requisiti

Funzione Intestazione obbligatoria Intestazione facoltativa
_futime <sys/utime.h> <errno.h>
_futime32 <sys/utime.h> <errno.h>
_futime64 <sys/utime.h> <errno.h>

Per altre informazioni sulla compatibilità, vedere Compatibility (Compatibilità).

Esempio

// 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.

Output di esempio

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

Vedi anche

Gestione orari