Получение времени изменения файла в 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 системный вызов, чтобы получить последний доступ и время модификации.