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

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

struct timeval {
    long tv_sec;        /* seconds */
    long tv_usec;       /* microseconds */
};

我记得有一段时间我发现了这一点。您必须将tv_sec设置为一个特殊值,以使其忽略该参数。有人能回忆起或者知道我是怎么做到的吗?

最佳答案

utimes接口已被弃用,我不知道它是否提供了实现您所需的方法。它的标准化程度很低,不同的平台可能会有不同的答案。相反,您应该使用utimensatfutimens
http://pubs.opengroup.org/onlinepubs/9699919799/functions/utimensat.html
具有特殊值UTIME_OMIT

09-30 16:52