Получение времени изменения файла в UNIX с помощью utime в C

мне сказал профессор, что вы можете получить последнее время модификации файла, используя utime.h. Тем не менее, man-страница, похоже, цитирует это utime () только устанавливает это значение. Как я могу посмотреть последний раз, когда файл был изменен в C в системе UNIX?

2 ответов


Это возвращает файл mtime, "время последнего изменения данных". Обратите внимание, что в Unix также есть понятие ctime, "время последнего изменения статуса" (см. Также чтимы, время доступа, время изменения).

#include <sys/types.h>
#include <sys/stat.h>

time_t get_mtime(const char *path)
{
    struct stat statbuf;
    if (stat(path, &statbuf) == -1) {
        perror(path);
        exit(1);
    }
    return statbuf.st_mtime;
}

можно использовать stat системный вызов, чтобы получить последний доступ и время модификации.