Partager via


_utime, _utime32, _utime64, _wutime, _wutime32, _wutime64

Définit l'heure de modification du fichier.

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 vers les valeurs d'heure stockées.

Valeur de retour

Chacune de ces fonctions retourne 0 si le temps de modification de fichier est modifié. Une valeur de retour de -1 indique une erreur. Si un paramètre invalide est passé, le gestionnaire de paramètre non valide est appelé, comme décrit dans Validation de paramètre. Si l'exécution est autorisée à continuer, ces fonctions retournent -1 et errno a une des valeurs suivantes :

  • EACCES
    Le chemin d'accès spécifie le répertoire ou fichier en lecture seule

  • EINVAL
    Argument non valide times

  • EMFILE
    Trop de fichiers ouverts ( le fichier doit être ouvert pour modifier son heure de modification)

  • ENOENT
    Fichier ou chemin d'accès introuvable.

Consultez _doserrno, errno, _sys_errlist et _sys_nerr pour plus d'informations sur ces éléments et autres codes de retour.

La date est changeable 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, la date de fin est 23:59:59, le 31 décembre, 3000, UTC. Si _USE_32BIT_TIME_T est défini pour forcer le comportement antérieur, la date de fin est 03:14:07, le 19 janvier, 2038, UTC. _utime32 ou _wutime32 utilisent un type d'heure 32 bits que _USE_32BIT_TIME_T soit défini ou non, et conservent la date de fin plus rapprochée. _utime64 ou _wutime64 utilisent toujours le type d'heure 64 bits, et ces fonctions prennent toujours en charge la date de fin plus tardive.

Notes

La fonction _utime définit l'heure de modification du fichier spécifié par filename*.* Le processus doit disposer d'un accès en écriture au fichier pour modifier l'heure. Dans le système d'exploitation Windows, vous pouvez modifier l'heure d'accès et l'heure de modification de la structure _utimbuf. Si times est un pointeur 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 SYS.\UTIME.H.

La structure _utimbuf stocke les heures d'accès au fichier et de modification utilisés par _utime pour changer les dates de modification de fichier. La structure contient les champs suivants, qui sont tous deux de type time_t:

  • actime
    Heure d'accès au fichier

  • modtime
    heure de modification de fichier

Les versions spécifiques de la structure _utimbuf (_utimebuf32 et __utimbuf64) sont définies à l'aide des versions 32 bits et 64 bits du type d'heure. Elles sont utilisées dans les versions spécifiques 32 bits et 64 bits de cette fonction. _utimbuf elle-même utilise par défaut un type d'heure 64 bits à moins que _USE_32BIT_TIME_T soit défini.

_utime est identique à _futime sauf que l'argument filename de _utime est un nom de fichier ou un chemin d'accès d'un fichier, plutôt qu'un descripteur de fichier d'un fichier ouvert.

_wutime est une version à caractères larges de _utime; l'argument filename vers _wutime est une chaîne à caractères larges. Ces fonctions se comportent sinon de façon identique.

Mappages de routines de texte générique

Routine TCHAR.H

_UNICODE & _MBCS non définis

_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

<système/utime.h>

<errno.h>

_utime64

<système/utime.h>

<errno.h>

_wutime

<utime.h> or <wchar.h>

<errno.h>

Pour plus d'informations sur la compatibilité, consultez Compatibilité dans l'introduction.

Exemple

Ce programme utilise _utime pour définir la durée de modification de fichier à 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 Exemples d'appel de plateforme.

Voir aussi

Référence

Gestion du temps

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

time, _time32, _time64