Получение времени модификации файла в UNIX с использованием utime в C - PullRequest
12 голосов
/ 26 октября 2010

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

Ответы [ 2 ]

12 голосов
/ 26 октября 2010

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

#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;
}
2 голосов
/ 26 октября 2010

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

...