_futime, _futime32_futime64

Legt das Änderungsdatum einer offenen Datei fest

Syntax

int _futime(
   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.

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

Siehe auch

Zeitverwaltung