【发布时间】:2022-01-15 16:38:56
【问题描述】:
我正在编写一个 C 程序来更改 linux 中文件的修改时间戳(时间和日期)。我找到了命令,但我正在寻找一种可以通过 C 程序执行此操作的方法。有什么办法可以做到吗?
【问题讨论】:
标签: c linux datetime timestamp
我正在编写一个 C 程序来更改 linux 中文件的修改时间戳(时间和日期)。我找到了命令,但我正在寻找一种可以通过 C 程序执行此操作的方法。有什么办法可以做到吗?
【问题讨论】:
标签: c linux datetime timestamp
linux试试
int utimensat(int dirfd, const char *pathname,
const struct timespec times[2], int flags);
或旧命令
int utime(const char *filename, const struct utimbuf *times);
【讨论】:
可以,通过使用system() 函数和touch Linux 命令。来自system() manual page:
int system(const char *command);
system() 库函数使用...执行 command
中指定的 shell 命令
编辑:这会将时间戳更新为当前时间和日期。
【讨论】:
system() 来更新时间戳
struct timespec 和标志。