C语言中用于修改文件的存取时间的函数使用

时间:2021-12-16 08:26:19

C语言utime()函数:修改文件的存取时间和更改时间
头文件:

?
1
#include <sys/types.h>  #include <utime.h>

定义函数:

?
1
int utime(const char * filename, struct utimbuf * buf);

函数说明:utime()用来修改参数filename 文件所属的inode 存取时间。结构utimbuf 定义如下:

?
1
2
3
4
5
struct utimbuf
{
  time_t actime;
  time_t modtime;
};

返回值:如果参数buf 为空指针(NULL), 则该文件的存取时间和更改时间全部会设为目前时间.。执行成功则返回0,失败返回-1,错误代码存于errno。

错误代码:
1、EACCESS 存取文件时被拒绝, 权限不足。
2、ENOENT 指定的文件不存在。

C语言utimes()函数:修改文件的存取时间和更改时间
头文件:

?
1
#include <sys/types.h>  #include <utime.h>

定义函数:

?
1
int utimes(char * filename, struct timeval *tvp);

函数说明:utimes()用来修改参数filename 文件所属的inode 存取时间和修改时间。结构timeval 定义如下:

?
1
2
3
4
5
struct timeval
{
  long tv_sec;
  long tv_usec; //微妙
};

返回值:参数 tvp 指向两个timeval 结构空间, 和utime ()使用的utimebuf 结构比较, tvp[0].tc_sec则为utimbuf.actime, tvp[1].tv_sec 为utimbuf.modtime. 执行成功则返回0. 失败返回-1, 错误代
码存于errno.

错误代码:
1、EACCESS 存取文件时被拒绝, 权限不足。
2、ENOENT 指定的文件不存在。