Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Legt das Änderungsdatum einer offenen Datei fest
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
);
Parameter
fd
Dateideskriptor der geöffneten Datei
filetime
Zeiger auf die Struktur, die das neue Änderungsdatum enthält
Rückgabewert
Gibt bei Erfolg 0 zurück. Wenn ein Fehler auftritt, wird der ungültige Parameterhandler aufgerufen, wie in der Parameterüberprüfung beschrieben. Wenn die Ausführung fortgesetzt werden darf, gibt die Funktion "-1" zurück und errno ist auf EBADF", der einen ungültigen Dateideskriptor angibt, oder EINVAL, der einen ungültigen Parameter angibt.
Hinweise
Die _futime Routine legt das Änderungsdatum und die Zugriffszeit für die geöffnete Datei fest, die zugeordnet fdist.
_futime ist identisch mit _utimeder Ausnahme, dass es sich bei dem Argument um den Dateideskriptor einer geöffneten Datei und nicht um den Namen einer Datei oder eines Pfads zu einer Datei handelt. Die _utimbuf-Struktur enthält Felder für das neue Änderungsdatum und den neuen Zugriffszeitpunkt. Beide Felder müssen gültige Werte enthalten.
_utimbuf32und _utimbuf64 sind nahezu identisch mit _utimbuf, allerdings verwenden beide 32-Bit- und 64-Bit-Uhrzeittypen.
_futime und _utimbuf verwenden einen 64-Bit-Uhrzeittyp, und _futime verhält sich genauso wie _futime64. Wenn Sie das alte Verhalten erzwingen möchten, definieren Sie _USE_32BIT_TIME_T. Dadurch wird das Verhalten von _futime und _futime32 identisch und die _utimbuf-Struktur, den 32-Bit-Uhrzeittyp zu verwenden, sodass er __utimbuf32 entspricht.
_futime64 verwendet die __utimbuf64 Struktur und kann Datumsangaben bis 23:59:59 am 31. Dezember 3000 (UTC) lesen und ändern. Ein Aufruf von _futime32 schlägt jedoch fehl, wenn das Datum für die Datei weiter als 23:59:59 am 18. Januar 2038 UTC in der Zukunft liegt. Der 1. Januar 1970 (Mitternacht) ist der älteste mögliche Datumsbereich für diese Funktionen.
Standardmäßig gilt der globale Zustand dieser Funktion für die Anwendung. Wie Sie dieses Verhalten ändern, erfahren Sie unter Globaler Status in der CRT.
Hinweis
Wenn Sie Windows SDK Version 10.0.26100.6901 und Visual Studio 2026 oder höher zusammen verwenden, _futime ist dies nicht mehr static inline (interne Verknüpfung). Stattdessen ist inline es (externe Verknüpfung).
Um zum vorherigen Verhalten zurückzukehren, #define _STATIC_INLINE_UCRT_FUNCTIONS=1 bevor Sie CRT-Header einschließen.
_STATIC_INLINE_UCRT_FUNCTIONS ist standardmäßig auf „0“ festgelegt.
Diese Änderung erhöht die UCRT-Konformität mit dem C++-Standard und verbessert die Kompatibilität mit C++-Modulen.
Anforderungen
| Funktion | Erforderlicher Header | Optionaler Header |
|---|---|---|
_futime |
<sys/utime.h> |
<errno.h> |
_futime32 |
<sys/utime.h> |
<errno.h> |
_futime64 |
<sys/utime.h> |
<errno.h> |
Weitere Informationen zur Kompatibilität finden Sie unter Kompatibilität.
Beispiel
// 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" );
}
Eingabe: crt_futime.c_input
Arbitrary file contents.
Beispielausgabe
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