_futime
, , _futime32
_futime64
Définit l’heure de modification d’un fichier ouvert.
Syntaxe
int _futime(
int fd,
struct _utimbuf *filetime
);
int _futime32(
int fd,
struct __utimbuf32 *filetime
);
int _futime64(
int fd,
struct __utimbuf64 *filetime
);
Paramètres
fd
Descripteur du fichier ouvert.
filetime
Pointeur désignant la structure qui contient la nouvelle date de modification.
Valeur retournée
Retournent 0 en cas de réussite. Si une erreur se produit, le gestionnaire de paramètres non valide est appelé, comme décrit dans la validation des paramètres. Si l’exécution est autorisée à continuer, la fonction retourne -1 et errno
est définie EBADF
sur , indiquant un descripteur de fichier non valide ou EINVAL
, indiquant un paramètre non valide.
Notes
La _futime
routine définit la date de modification et l’heure d’accès sur le fichier ouvert associé à fd
. _futime
est identique à _utime
, sauf que son argument est le descripteur de fichier d’un fichier ouvert, plutôt que le nom d’un fichier ou un chemin d’accès à un fichier. La structure _utimbuf
contient des champs pour les nouvelles date de modification et heure d’accès. Les deux champs doivent contenir des valeurs valides. _utimbuf32
et _utimbuf64
sont identiques à _utimbuf
, sauf pour l’utilisation des types d’heure 32 bits et 64 bits, respectivement. _futime
et _utimbuf
utilisent un type d’heure 64 bits, tandis que _futime
a le même comportement que _futime64
. Si vous devez forcer l’ancien comportement, définissez _USE_32BIT_TIME_T
. Grâce à cette opération, _futime
a un comportement identique à _futime32
et la structure _utimbuf
utilise le type d’heure 32 bits, devenant ainsi équivalente à __utimbuf32
.
_futime64
, qui utilise la structure __utimbuf64
, peut lire et modifier les dates de fichier jusqu’au 31 décembre 3000 à 23:59:59, heure UTC, alors qu’un appel à _futime32
échoue si la date du fichier est postérieure au 18 janvier 2038 à 23:59:59, heure UTC. Le 1er janvier 1970 à minuit est la limite inférieure de la plage de dates pour ces fonctions.
Par défaut, l’état global de cette fonction est limité à l’application. Pour modifier ce comportement, consultez État global dans le CRT.
Spécifications
Fonction | En-tête requis | En-tête facultatif |
---|---|---|
_futime |
<sys/utime.h> | <errno.h> |
_futime32 |
<sys/utime.h> | <errno.h> |
_futime64 |
<sys/utime.h> | <errno.h> |
Pour plus d’informations sur la compatibilité, consultez Compatibility.
Exemple
// crt_futime.c
// This program uses _futime to set the
// file-modification time to the current time.
#include <stdio.h>
#include <stdlib.h>
#include <fcntl.h>
#include <io.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/utime.h>
#include <share.h>
int main( void )
{
int hFile;
// Show file time before and after.
system( "dir crt_futime.c_input" );
_sopen_s( &hFile, "crt_futime.c_input", _O_RDWR, _SH_DENYNO, 0 );
if( _futime( hFile, NULL ) == -1 )
perror( "_futime failed\n" );
else
printf( "File time modified\n" );
_close (hFile);
system( "dir crt_futime.c_input" );
}
Entrée : crt_futime.c_input
Arbitrary file contents.
Exemple de sortie
Volume in drive Z has no label.
Volume Serial Number is 5C68-57C1
Directory of Z:\crt
03/25/2004 10:40 AM 24 crt_futime.c_input
1 File(s) 24 bytes
0 Dir(s) 24,268,476,416 bytes free
Volume in drive Z has no label.
Volume Serial Number is 5C68-57C1
Directory of Z:\crt
03/25/2004 10:41 AM 24 crt_futime.c_input
1 File(s) 24 bytes
0 Dir(s) 24,268,476,416 bytes free
File time modified