_futime
, , _futime32
_futime64
Nastaví čas změny v otevřeném souboru.
Syntaxe
int _futime(
int fd,
struct _utimbuf *filetime
);
int _futime32(
int fd,
struct __utimbuf32 *filetime
);
int _futime64(
int fd,
struct __utimbuf64 *filetime
);
Parametry
fd
Popisovač souboru k otevřenému souboru.
filetime
Ukazatel na strukturu obsahující nové datum změny.
Vrácená hodnota
Vrátí hodnotu 0, pokud je úspěšná. Pokud dojde k chybě, vyvolá se neplatná obslužná rutina parametru, jak je popsáno v ověření parametru. Pokud je spuštění povoleno pokračovat, funkce vrátí hodnotu -1 a errno
je nastavena na EBADF
, indikující neplatný popisovač souboru nebo EINVAL
, označující neplatný parametr.
Poznámky
Rutina _futime
nastaví datum změny a čas přístupu u otevřeného souboru přidruženého fd
k . _futime
je identický s _utime
tím rozdílem, že jeho argument je popisovač souboru otevřeného souboru, nikoli název souboru nebo cesta k souboru. Struktura _utimbuf
obsahuje pole pro nové datum změny a čas přístupu. Obě pole musí obsahovat platné hodnoty. _utimbuf32
a _utimbuf64
jsou identické s _utimbuf
výjimkou použití 32bitových a 64bitových typů času. _futime
a _utimbuf
použijte 64bitový typ času a _futime
je identický v chování ._futime64
Pokud potřebujete vynutit staré chování, definujte _USE_32BIT_TIME_T
. Tím dojde _futime
ke identickému _utimbuf
chování _futime32
a způsobí, že struktura použije 32bitový typ času, takže bude ekvivalentní __utimbuf32
.
_futime64
, který používá __utimbuf64
strukturu, může číst a upravovat data souboru do 23:59:59, 31. prosince 3000 UTC; zatímco volání _futime32
, které selže, pokud je datum souboru pozdější než 23:59:59 18, 2038 UTC. Půlnoc, 1. ledna 1970, je dolní mez rozsahu dat pro tyto funkce.
Ve výchozím nastavení je globální stav této funkce vymezen na aplikaci. Chcete-li toto chování změnit, přečtěte si téma Globální stav v CRT.
Požadavky
Function | Požadovaný hlavičkový soubor | Volitelné záhlaví |
---|---|---|
_futime |
<sys/utime.h> | <errno.h> |
_futime32 |
<sys/utime.h> | <errno.h> |
_futime64 |
<sys/utime.h> | <errno.h> |
Další informace o kompatibilitě najdete v tématu Kompatibilita.
Příklad
// 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" );
}
Vstup: crt_futime.c_input
Arbitrary file contents.
Ukázkový výstup
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