_futime
, , _futime32
_futime64
Ustawia czas modyfikacji otwartego pliku.
Składnia
int _futime(
int fd,
struct _utimbuf *filetime
);
int _futime32(
int fd,
struct __utimbuf32 *filetime
);
int _futime64(
int fd,
struct __utimbuf64 *filetime
);
Parametry
fd
Deskryptor plików do otwartego pliku.
filetime
Wskaźnik do struktury zawierającej nową datę modyfikacji.
Wartość zwracana
Jeśli operacja powiedzie się, zwróć wartość 0. Jeśli wystąpi błąd, wywoływana jest nieprawidłowa procedura obsługi parametrów, zgodnie z opisem w temacie Weryfikacja parametrów. Jeśli wykonywanie jest dozwolone do kontynuowania, funkcja zwraca wartość -1 i errno
jest ustawiona na EBADF
, wskazując nieprawidłowy deskryptor pliku lub EINVAL
, wskazując nieprawidłowy parametr.
Uwagi
Procedury _futime
ustawia datę modyfikacji i godzinę dostępu w otwartym pliku skojarzonym z fd
programem . _futime
jest taka sama jak _utime
, z tą różnicą, że jej argumentem jest deskryptor pliku otwartego, a nie nazwą pliku lub ścieżką do pliku. Struktura _utimbuf
zawiera pola dla nowej daty modyfikacji i godziny dostępu. Oba pola muszą zawierać prawidłowe wartości. _utimbuf32
i _utimbuf64
są identyczne _utimbuf
z wyjątkiem użycia 32-bitowych i 64-bitowych typów czasu, odpowiednio. _futime
i _utimbuf
użyj 64-bitowego typu czasu i _futime
jest identyczny w zachowaniu do _futime64
. Jeśli musisz wymusić stare zachowanie, zdefiniuj wartość _USE_32BIT_TIME_T
. Wykonanie tej czynności powoduje _futime
, że zachowanie _futime32
jest identyczne z i powoduje _utimbuf
, że struktura używa typu czasu 32-bitowego, co odpowiada __utimbuf32
.
_futime64
, który używa __utimbuf64
struktury, może odczytywać i modyfikować daty plików do 23:59:59, 31 grudnia 3000, UTC; podczas gdy wywołanie kończy się _futime32
niepowodzeniem, jeśli data w pliku jest późniejsza niż 23:59:59 18 stycznia 2038 r. UTC. Północ, 1 stycznia 1970 r., jest dolną granicą zakresu dat dla tych funkcji.
Domyślnie stan globalny tej funkcji jest zakresem aplikacji. Aby zmienić to zachowanie, zobacz Stan globalny w CRT.
Wymagania
Function | Wymagany nagłówek | Opcjonalny nagłówek |
---|---|---|
_futime |
<sys/utime.h> | <errno.h> |
_futime32 |
<sys/utime.h> | <errno.h> |
_futime64 |
<sys/utime.h> | <errno.h> |
Aby uzyskać więcej informacji o zgodności, zobacz Zgodność.
Przykład
// 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" );
}
Dane wejściowe: crt_futime.c_input
Arbitrary file contents.
Przykładowe dane wyjściowe
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