_utime, _utime32, _utime64, _wutime, _wutime32, _wutime64
Nastavte čas změny souboru.
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
);
Parametry
filename
Ukazatel na řetězec, který obsahuje cestu nebo název souboru.times
Ukazatel času uložené hodnoty.
Vrácená hodnota
Každá z těchto funkcí vrátí 0, pokud čas změny souboru byla změněna.Vrácená hodnota –1 označuje chybu.Pokud je předán neplatný parametr, je vyvolána neplatný parametr popisovače, jak je popsáno v Ověření parametrů.Pokud je povoleno spuštění pokračovat, vrátí tyto funkce hodnotu -1 a errno je nastavena na jednu z následujících hodnot:
EACCES
Cesta Určuje adresář nebo soubor jen pro čteníEINVAL
Neplatný times argumentEMFILE
Příliš mnoho otevřených souborů (soubor musí být otevřeny změnit svůj čas změny)ENOENT
Cesta nebo název souboru nebyl nalezen.
Viz _doserrno, kód chyby, _sys_errlist a _sys_nerr Další informace o těchto a jiných návratových kódů.
Datum lze změnit soubor-li změnit datum po půlnoci 1. ledna 1970 a před koncovým datem použitá funkce._utimea _wutime použít hodnotu času 64 bit, tak koncové datum je 23: 59: 59 UTC do 31. prosince 3000.Pokud _USE_32BIT_TIME_T je definován vynucení staré chování je koncové datum 03: 14: 07 19 01.01.08, UTC._utime32nebo _wutime32 čas 32bitový typ bez ohledu zda _USE_32BIT_TIME_T je definován a mají vždy dřívější datum ukončení._utime64nebo _wutime64 vždy použít typ 64 bit času tak tyto funkce podporují vždy vyšší koncové datum.
Poznámky
_utime Funkce nastaví čas změny souboru podle filename*.* Proces musí mít přístup pro zápis do souboru pro změnu času.V operačním systému Windows můžete změnit přístup čas a čas změny v _utimbuf struktury.Pokud times je NULL ukazatel, čas změny je nastaven na aktuální místní čas.Jinak times musí odkazovat na strukturu typu _utimbuf, definované v SYS\UTIME.H.
_utimbuf Struktury ukládá soubor aplikace access a změnu časy používány _utime změnit datum změny souboru.Struktura obsahuje následující pole, která jsou typu time_t:
actime
Čas přístupu k souborumodtime
Čas změny souboru
Určité verze _utimbuf struktury (_utimebuf32 a __utimbuf64) jsou definovány pomocí 32bitové a 64bitové verze typ času.Jsou použity v 32bitových a 64bitových určité verze této funkce._utimbufsám ve výchozím nastavení používá typ 64 bit čas, pokud _USE_32BIT_TIME_T je definován.
_utimeje shodné s _futime s výjimkou, že filename argumentu _utime je název souboru nebo cestu k souboru, nikoli soubor deskriptoru otevřeného souboru.
_wutimeje verze celého znaku _utime; filename argument _wutime je řetězec znaků wide.Tyto funkce chovat stejně jinak.
Obecný Text rutinní mapování
TCHAR.Rutina H |
_UNICODE & _MBCS není definován |
_MBCS, definice |
_UNICODE, definice |
---|---|---|---|
_tutime |
_utime |
_utime |
_wutime |
_tutime32 |
_utime32 |
_utime32 |
_wutime32 |
_tutime64 |
_utime64 |
_utime64 |
_wutime64 |
Požadavky
Rutina |
Požadované záhlaví |
Volitelné záhlaví |
---|---|---|
_utime, _utime32, _utime64 |
<sys/utime.h> |
<errno.h> |
_utime64 |
<sys/utime.h> |
<errno.h> |
_wutime |
<utime.h> nebo <wchar.h> |
<errno.h> |
Další informace o kompatibilitě, viz Compatibility v úvodu.
Příklad
Tento program používá _utime čas změny souboru nastavit aktuální čas.
// 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" );
}
Vzorový výstup
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
Ekvivalent v rozhraní .NET Framework
Nelze použít Použijte volání funkce standardní C, PInvoke. Další informace naleznete v tématu Příklady vyvolat platformu.
Viz také
Referenční dokumentace
ctime, _ctime32, _ctime64, _wctime, _wctime32, _wctime64
_fstat, _fstat32, _fstat64, _fstati64, _fstat32i64, _fstat64i32