_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 seule

  • EINVAL
    Argument non valide d' times

  • EMFILE
    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 fichier

  • modtime
    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

Gestion de la durée

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, fonctions de _wstat

time, _time32, _time64