使用utimes或futimes分别设置访问时间和修改时间

Mat*_*att 1 c linux api

如何调用utimes或futimes,使其忽略第一个或第二个数组参数.

int utimes(const char *filename, const struct timeval times[2]);

struct timeval {
    long tv_sec;        /* seconds */
    long tv_usec;       /* microseconds */
};
Run Code Online (Sandbox Code Playgroud)

我记得有一段时间以后想出这个.您必须将tv_sec设置为特殊值以使其忽略该参数.任何人都可以回想起或知道我是怎么做到的吗?

R..*_*R.. 5

utimes界面已弃用,我不知道它是否提供了一种方法来完成您想要的操作.标准化程度很低,平台之间的答案可能不同.相反,你应该使用utimensatfutimens:

http://pubs.opengroup.org/onlinepubs/9699919799/functions/utimensat.html

具有特殊价值UTIME_OMIT.