_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 letturaEINVAL
non valido times argomentoEMFILE
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 filemodtime
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
ctime, _ctime32, _ctime64, _wctime, _wctime32, _wctime64
_fstat, _fstat32, _fstat64, _fstati64, _fstat32i64, _fstat64i32