Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Anger ändringstiden för en öppen fil.
Syntax
int _futime( // See note in remarks section about linkage
int fd,
struct _utimbuf *filetime
);
int _futime32(
int fd,
struct __utimbuf32 *filetime
);
int _futime64(
int fd,
struct __utimbuf64 *filetime
);
Parameterar
fd
Filbeskrivning till den öppna filen.
filetime
Pekare mot strukturen som innehåller det nya ändringsdatumet.
Returvärde
Returnera 0 om det lyckas. Om ett fel inträffar anropas den ogiltiga parameterhanteraren enligt beskrivningen i Parameterverifiering. Om körningen tillåts fortsätta returnerar funktionen -1 och errno är inställd EBADFpå , som anger en ogiltig filbeskrivning, eller EINVAL, som anger en ogiltig parameter.
Anmärkningar
Rutinen _futime anger ändringsdatum och åtkomsttid för den öppna filen som är associerad med fd.
_futime är identisk med _utime, förutom att dess argument är filbeskrivningen för en öppen fil i stället för namnet på en fil eller en sökväg till en fil. Strukturen _utimbuf innehåller fält för det nya ändringsdatumet och åtkomsttiden. Båda fälten måste innehålla giltiga värden.
_utimbuf32 och _utimbuf64 är identiska _utimbuf med förutom användning av 32-bitars respektive 64-bitars tidstyper.
_futime och _utimbuf använder en 64-bitars tidstyp och _futime är identisk i beteendet till _futime64. Om du behöver framtvinga det gamla beteendet definierar du _USE_32BIT_TIME_T. Detta gör _futime att beteendet är identiskt med och gör _utimbuf att _futime32 strukturen använder 32-bitars tidstypen, vilket gör att __utimbuf32den motsvarar .
_futime64, som använder __utimbuf64 strukturen, kan läsa och ändra fildatum till och med 23:59:59, 31 december 3000, UTC; medan ett anrop till _futime32 misslyckas om datumet för filen är senare än 23:59:59 18 januari 2038, UTC. Midnight, 1 januari 1970, är den nedre gränsen för datumintervallet för dessa funktioner.
Som standard är den här funktionens globala tillstånd begränsat till programmet. Information om hur du ändrar det här beteendet finns i Globalt tillstånd i CRT.
Anmärkning
Om du använder Windows SDK version 10.0.26100.6901 och Visual Studio 2026 eller senare tillsammans, _futime är inte längre static inline (intern länkning). I stället är inline det (extern länkning).
För att återgå till det tidigare beteendet, #define _STATIC_INLINE_UCRT_FUNCTIONS=1 innan du inkluderar några CRT-huvuden. Som standard _STATIC_INLINE_UCRT_FUNCTIONS är värdet 0.
Den här ändringen ökar UCRT-överensstämmelsen med C++-standarden och förbättrar kompatibiliteten med C++-moduler.
Kravspecifikation
| Funktion | Obligatoriskt huvud | Valfritt sidhuvud |
|---|---|---|
_futime |
<sys/utime.h> |
<errno.h> |
_futime32 |
<sys/utime.h> |
<errno.h> |
_futime64 |
<sys/utime.h> |
<errno.h> |
Mer kompatibilitetsinformation finns i Kompatibilitet.
Example
// 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" );
}
Indata: crt_futime.c_input
Arbitrary file contents.
Exempelresultat
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