c linux 检查文件是否更新/更改/修改?

标签 c linux file-io

如果文件已更新/更改,如何在 c 和 linux 中检查。

我想在打开文件并从中执行提取/输入/输出操作之前检查文件是否有更新。

最佳答案

查看man page对于 stat(2)。获取struct stat结构的st_mtime成员,它会告诉你文件的修改时间。如果当前 mtime 晚于之前的 mtime,则文件已被修改。

一个例子:

int file_is_modified(const char *path, time_t oldMTime) {
    struct stat file_stat;
    int err = stat(path, &file_stat);
    if (err != 0) {
        perror(" [file_is_modified] stat");
        exit(errno);
    }
    return file_stat.st_mtime > oldMTime;
}

这是 an introduction to inotify ,如果这就是您要查找的内容。

关于c linux 检查文件是否更新/更改/修改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9376975/

相关文章:

线程内的 Python 文件处理

c - 如何释放 C 中的内存?

将迭代算法转换为递归算法

python - subprocess.popen 在 cronjob 中不返回任何输出

Python/Tkinter 应用程序在 Raspberry Pi 启动上运行

c - 将整个文本文件读入 C 中的 char 数组

C 访问冲突写入位置

c - 错误 : format %d expects type int, 但参数 2 的类型为 double(*)(int, int)

php - sonataIntlBundle 问题 - 我无法使用 composer 安装

java - Java 中的扫描器