_utime, _utime32 _utime64, _wutime, _wutime32, _wutime64
Définissez l'heure de modification de fichiers.
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
);
Paramètres
filename
Pointeur vers une chaîne qui contient le chemin d'accès ou le nom de fichier.times
Pointeur aux valeurs d'heure stockées.
Valeur de retour
Chacune de ces fonctions retourne 0 si le temps de fichier-modification a été modifié.Une valeur de retour - 1 indique une erreur.si un paramètre non valide est passé, le gestionnaire de paramètre non valide est appelé, comme décrit dans Validation des paramètres.Si est autorisé à l'exécution de se poursuivre, ces fonctions retournent -1 et errno a une des valeurs suivantes :
EACCES
le chemin d'accès spécifie le répertoire ou le fichier en lecture seuleEINVAL
Argument non valide d' timesEMFILE
trop de fichiers ouverts (le fichier doit être ouvert pour modifier son heure de modification)ENOENT
chemin d'accès ou nom de fichier introuvable
Consultez _doserrno, errno, _sys_errlist, et _sys_nerr pour plus d'informations sur ce point, ainsi que d'autres, les codes de retour.
la date peut être modifiée pour un fichier si la date de modification a lieu après minuit, le 1er janvier 1970, et avant la date de fin de la fonction utilisée._utime et _wutime utilisent une valeur d'heure 64 bits, de sorte que la date de fin est 23h59 : 59, le 31 décembre, 3000, l'heure UTC.Si _USE_32BIT_TIME_T est défini pour forcer l'ancien comportement, la date de fin est 3h14 : Le 7 janvier 19, 2038, l'heure UTC._utime32 ou l'utilisation d' _wutime32 un type d'heure 32 bits que _USE_32BIT_TIME_T est défini, et ont toujours la date de fin antérieure._utime64 ou d' _wutime64 l'utilisation toujours le type d'heure 64 bits, de sorte que ces fonctions prennent en charge toujours la date de fin ultérieure.
Notes
la fonction d'_utime définit l'heure de modification pour le fichier spécifié par filename*.* Le processus doit avoir un accès en écriture au fichier pour modifier le temps.Dans le système d'exploitation Windows, vous pouvez modifier le temps d'accès et l'heure de modification de la structure d' _utimbuf .si times est un pointeur d' NULL , l'heure de modification est définie à l'heure locale actuelle.Sinon, times doit pointer vers une structure de type _utimbuf, définie dans le système \UTIME.H.
La structure d' _utimbuf enregistre l'accès et les heures de modification utilisés par _utime des dates de fichier-modification de modification.La structure pour les champs suivants, qui sont tous deux de type time_t:
actime
Point d'accès au fichiermodtime
Heure de modification de fichiers
Des versions spécifiques de la structure d' _utimbuf (_utimebuf32 et __utimbuf64) sont définies à l'aide de les versions 32 bits et 64 bits du type de temps.Ceux-ci sont utilisés dans des versions spécifiques 32 bits et 64 bits de cette fonction._utimbuf lui-même utilise par défaut le type d'heure 64 bits à moins qu' _USE_32BIT_TIME_T soit défini.
_utime identique à _futime sauf que l'argument d' filename d' _utime est un nom de fichier ou un chemin d'accès à un fichier, plutôt qu'un descripteur d'un fichier ouvert.
_wutime est une version à caractère élargi d' _utime; l'argument d' filename à _wutime est une chaîne à caractères larges.Ces fonctions se comportent de sinon.
mappages de routines de texte générique
routine de TCHAR.H |
_MBCS & de _UNICODE non défini |
_MBCS défini |
_UNICODE défini |
---|---|---|---|
_tutime |
_utime |
_utime |
_wutime |
_tutime32 |
_utime32 |
_utime32 |
_wutime32 |
_tutime64 |
_utime64 |
_utime64 |
_wutime64 |
Configuration requise
routine |
en-têtes requis |
en-têtes facultatifs |
---|---|---|
_utime, _utime32, _utime64 |
<sys/utime.h> |
<errno.h> |
_utime64 |
<sys/utime.h> |
<errno.h> |
_wutime |
<utime.h> ou <wchar.h> |
<errno.h> |
Pour des informations de compatibilité supplémentaires, consultez compatibilité dans l'introduction.
Exemple
Ce programme utilise _utime pour définir le temps de fichier-modification à l'heure actuelle.
// 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" );
}
Résultat de l'exemple
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
Équivalent .NET Framework
Non applicable. Pour appeler la fonction C standard, utilisez PInvoke. Pour plus d'informations, consultez l' exemples d'appel de code non managé.
Voir aussi
Référence
ctime, _ctime32, _ctime64, _wctime, _wctime32, _wctime64
_fstat, _fstat32, _fstat64, _fstati64, _fstat32i64, _fstat64i32