_utime, _utime32 _utime64, _wutime, _wutime32, _wutime64
Legen Sie die Datei Zeit der den Modus fest.
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
);
Parameter
filename
Zeiger auf eine Zeichenfolge, die den Pfad und den Dateinamen enthält.times
Zeiger auf gespeicherten Zeitwerten.
Rückgabewert
Jede dieser Funktionen gibt 0 zurück, wenn die FILE Änderung der Zeit geändert wurde.Ein Rückgabewert von 1 gibt einen Fehler an.Wenn ein ungültiger Parameter übergeben wird, wird der Ereignishandler aufgerufen, z. B. ungültige Parameter in Parametervalidierungbeschrieben.Wenn die Ausführung fortgesetzt werden kann, darf dieser Funktionen geben -1 zurück und errno wird auf einen der folgenden Werte festgelegt:
EACCES
Pfad gibt Verzeichnis oder schreibgeschützte Datei anEINVAL
Ungültiges Argument timesEMFILE
Zu viele geöffneten Dateien (die Datei geöffnet werden muss, um die Änderung zu Zeit ändern)ENOENT
Pfad- oder Dateiname nicht gefunden
Weitere Informationen finden Sie unter _doserrno, errno, _sys_errlist und _sys_nerr Weitere Informationen über diese und andere Rückgabecodes.
Das Datum kann für eine Datei geändert werden, wenn das Datum der Änderung, am 1. Januar 1970 nach Mitternacht ist, und vor dem Enddatum der verwendeten Funktion._utime und _wutime verwenden einen 64-Bit-Zeitwert, deshalb ist das Enddatum 23:59: 59 3000 am 31. Dezember, UTC.Wenn _USE_32BIT_TIME_T definiert wird, um das alte Verhalten zu erzwingen, ist das Enddatum 03:14: Am 7. Januar 19 2038, UTC._utime32 oder _wutime32 Verwendung eines 32-Bit-Zeit unabhängig davon, ob _USE_32BIT_TIME_T-Typ definiert und hat immer das vorherige Enddatum._utime64 oder _wutime64 Verwendung der 64-Bit-Zeit, sodass diese Features unterstützt immer das neuere Enddatum.
Hinweise
Die_utime Zeit der Funktion legt die Änderung für die Datei fest, die von filenameangegeben wird*.* Der Prozess muss über Schreibzugriff auf die Datei verfügen, um die Zeitspanne zu ändern.Unter Windows Betriebssystem, können Sie die Zugriffsgeschwindigkeit und die Zeit der Änderungen in der _utimbuf Struktur ändern.Wenn times ein NULL Zeiger ist, wird die Änderung auf die aktuelle Zeit der Ortszeit festgelegt.Andernfalls muss times auf eine Struktur vom Typ _utimbufveranschaulichen, definiert in SYS \ UTIME.H.
Die _utimbuf Struktur speichert den Dateizugriff und setzt die Änderung von _utime Änderung Zeit fest, um FILE Datumsangaben zu ändern.Die Struktur enthält die folgenden Felder, die sowohl vom Typ time_tsind:
actime
Uhrzeit des Dateizugriffsmodtime
Zeitpunkt der Änderung der Datei
Einige Versionen der _utimbuf Struktur (_utimebuf32 und __utimbuf64) werden mit der 32-Bit- und 64-Bit-Versionen Uhrzeit des Typs definiert.Diese werden in 32-Bit- und 64-Bit-Versionen von bestimmten dieser Funktion verwendet._utimbuf selbst verwendet standardmäßig einen Typ 64-Bit-Zeit, es sei denn, _USE_32BIT_TIME_T definiert ist.
_utime ist mit _futime identisch, mit der Ausnahme, dass das filename-Argument von _utime ist ein Dateiname oder Pfad zu einer Datei, anstatt Dateideskriptor einer geöffneten Datei.
_wutime ist eine Breitzeichen-Version von _utime. filename das Argument zu _wutime ist eine Zeichenfolge mit Breitzeichen.Diese Funktionen verhalten sich ansonsten unterscheiden.
Zuweisung generischer Textroutinen
TCHAR.H-Routine |
_UNICODE & _MBCS nicht definiert |
_MBCS definieren |
_UNICODE definiert |
---|---|---|---|
_tutime |
_utime |
_utime |
_wutime |
_tutime32 |
_utime32 |
_utime32 |
_wutime32 |
_tutime64 |
_utime64 |
_utime64 |
_wutime64 |
Anforderungen
Routine |
Erforderliche Header |
Optionale Header |
---|---|---|
_utime, _utime32, _utime64 |
<sys/utime.h> |
<errno.h> |
_utime64 |
<sys/utime.h> |
<errno.h> |
_wutime |
<utime.h> oder <wchar.h> |
<errno.h> |
Um Kompatibilität zusätzlichen Informationen finden Sie unter Kompatibilität in der Einführung.
Beispiel
Dieses Programm verwendet _utime , um die FILE Änderung Zeit auf die aktuelle Zeit festgelegt wird.
// 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" );
}
Beispielausgabe
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
.NET Framework-Entsprechung
Nicht zutreffend. Um die Standard-C-Funktion aufrufen, verwenden Sie PInvoke. Weitere Informationen finden Sie unter Plattformaufruf-Beispiele.
Siehe auch
Referenz
ctime, _ctime32, _ctime64, _wctime, _wctime32, _wctime64
_fstat, _fstat32, _fstat64, _fstati64, _fstat32i64, _fstat64i32