_futime, _futime32, _futime64
将打开文件的修改时间。
int _futime(
int fd,
struct _utimbuf *filetime
);
int _futime32(
int fd,
struct __utimbuf32 *filetime
);
int _futime64(
int fd,
struct __utimbuf64 *filetime
);
参数
fd
用于打开文件的文件描述符。filetime
对包含新的修改日期的结构的指针。
返回值
返回 0; 如果成功。 如果发生错误,则无效参数调用处理程序,如 参数验证所述。 如果执行允许继续,该函数返回 – 1 和 errno 设置为 EBADF,指示一个文件无效或描述符 EINVAL,指示一个参数无效。
备注
_futime 实例设置修改日期和访问时在打开文件与 fd*。* _futime 与 _utime相同,不同之处在于,其参数是打开的文件的文件描述符,而不是文件或路径的名称改为文件。 _utimbuf 结构包含新的修改日期和访问时间的字段。 两个字段必须包含有效值。 _utimbuf32 和 _utimbuf64 与 _utimbuf 分别是相同的 (使用 32 位和 64 位时,类型。 _futime 和 _utimbuf 使用 64 位时类型,并 _futime 相同。行为与 _futime64。 如果您需要强制旧行为,请定义 _USE_32BIT_TIME_T。 这样做会导致 _futime 相同。行为更改为 _futime32 并导致 _utimbuf framework 使用 32 位时类型,使它等效于 __utimbuf32。
_futime64,使用 __utimbuf64 结构,可以通过 23:59 读取和修改文件日期: 59, 3000 年十二月 31 日,, UTC;而对 _futime32 的调用失败,如果在文件的日期比 19:14 后面: 一月 07 日 18 日 2038 中, UTC。 午夜, 1970 年一月 1 日,是日期范围的下限这些功能。
要求
功能 |
必需的头 |
可选标头 |
---|---|---|
_futime |
sys/utime.h |
errno.h |
_futime32 |
sys/utime.h |
errno.h |
_futime64 |
sys/utime.h |
errno.h |
有关更多兼容性信息,请参见中介绍的 兼容性 。
示例
// 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" );
}
输入:crt_futime.c_input
Arbitrary file contents.
示例输出
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