linux如何设置文件、目录的修改时间?
可以用stat读取文件、目录的修改时间,但是如何设置呢?
------解决方案--------------------utime 或者 utimes
------解决方案--------------------utime函数:
原型是:
#include<utime.h>
int utime (const char *pathname, const struct utimbuf *time);
参数介绍:
其中pathname就是你要更改时间的文件名啦~~
time参数,这里出现了一个结构体struct utimbuf,这个结构体包含字段如下:
struct utimbuf{
time_t actime;//最后访问时间
time_t modtime;//最后修改时间
};
那么如果time字段是NULL,utime就将文件的最后访问时间和最后修改时间设置为当前时间。
如果time不为NULL,那就需要楼主自己给这个utimbuf结构进行赋值,可以用stat函数从别的文件获取,然后将utimbuf变量传入utime函数,完成文件时间的修改。
但是注意的是,这个函数是会改变文件的更改状态时间,更改状态时间会因为你执行utime函数而自动更新为楼主执行程序的时间!