_utime, _utime32 _utime64, _wutime, _wutime32, _wutime64

Impostare l'ora di modifica del file.

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 
);

Parametri

  • filename
    Puntatore a una stringa contenente il percorso o il nome file.

  • times
    puntatore ai valori archiviati.

Valore restituito

Ognuna di queste funzioni restituisce 0 se l'ora di file-modifica è stato modificato.Restituito un valore pari a 1 indica un errore.Se viene passato un parametro non valido, il gestore non valido di parametro viene richiamato, come descritto in Convalida dei parametri.Se l'esecuzione è consentita per continuare, queste funzioni restituiscono -1 e errno è impostato su uno dei seguenti valori:

  • EACCES
    Il percorso specifica la cartella o il file di sola lettura

  • EINVAL
    non valido times argomento

  • EMFILE
    Troppi file aperti (il file deve essere aperto per modificare la propria ora di modifica)

  • ENOENT
    Percorso o nome file non trovato

vedere _doserrno, errno, _sys_errlist e _sys_nerr per ulteriori informazioni su questi e su altri, codici restituiti.

La data può essere modificata per un file se la data della modifica ha luogo dopo la mezzanotte, il 1° gennaio 1970 e prima della data di fine della funzione utilizzata._utime e _wutime utilizzare un valore a 64 bit, la data di fine è 23:59: 59, il 31 dicembre, 3000, UTC.se _USE_32BIT_TIME_T viene definita definire il comportamento precedente, la data di fine è 03:14: 7 gennaio 19, 2038, UTC._utime32 o _wutime32 utilizzare un tipo di tempo a 32 bit indipendentemente dal fatto che _USE_32BIT_TIME_T viene definito e hanno sempre la data di fine precedente._utime64 o _wutime64 utilizzare sempre il tipo di tempo a 64 bit, in modo che queste funzioni supportano sempre la data di fine ulteriore.

Note

_utime la funzione imposta l'ora di modifica per il file specificato da filename*.* Il processo deve avere accesso in scrittura al file per modificare il tempo.Nel sistema operativo Windows, è possibile modificare il tempo di accesso e l'ora di modifica in _utimbuf struttura.se times è un oggetto NULL il puntatore, l'ora di modifica viene impostato all'ora locale corrente.In caso contrario, times deve puntare a una struttura di tipo _utimbuf, definito nel sistema \UTIME.H.

_utimbuf archivi accesso ai file e ore di modifica della struttura utilizzati da _utime per modificare le date di file-modifica.La struttura contiene i campi seguenti, che sono entrambi tipo time_t:

  • actime
    Punto di accesso ai file

  • modtime
    Punto di modifica di file

Versioni specifiche di _utimbuf struttura (_utimebuf32 e __utimbuf64) essere definito mediante le versioni a 32 bit e a 64 bit del tipo di tempo.Questi vengono utilizzati in 32 bit e versioni specifiche di 64 bit di questa esecuzione._utimbuf stesso per impostazione predefinita utilizza un tipo di tempo a 64 bit a meno che _USE_32BIT_TIME_T è definito.

_utime equivale a _futime con la differenza che filename argomento di _utime è un nome file o un percorso di un file, anziché un descrittore di un file aperto.

_wutime è una versione a caratteri estesi di _utime; filename argomento a _wutime è una stringa di caratteri estesi.Queste funzioni si comportano in modo identico in caso contrario.

Mapping di routine a testo generico

routine di TCHAR.H

_UNICODE & _MBCS non definiti

_MBCS definito

_UNICODE definito

_tutime

_utime

_utime

_wutime

_tutime32

_utime32

_utime32

_wutime32

_tutime64

_utime64

_utime64

_wutime64

Requisiti

routine

intestazioni obbligatorie

intestazioni facoltative

_utime, _utime32, _utime64

<sistema/utime.h>

<errno.h>

_utime64

<sistema/utime.h>

<errno.h>

_wutime

<utime.h> o <wchar.h>

<errno.h>

per informazioni di compatibilità aggiuntive, vedere compatibilità nell'introduzione.

Esempio

Utilizzo di questo programma _utime per impostare il tempo di file-modifica con l'ora corrente.

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

Esempio di output

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

Equivalente .NET Framework

Non applicabile. Per chiamare la funzione c standard, utilizzare PInvoke. Per ulteriori informazioni, vedere Esempi di pinvoke.

Vedere anche

Riferimenti

Gestione di tempo

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, funzioni di _wstat

time, _time32, _time64