LINUX.ORG.RU

Дата и время создания файла


0

0

Как правильно на C получить дату создания или последней модификации файла на UNIX системе

пытаюсь получить так :

DIR *dir; struct dirent *ent; struct stat statbuf;

while ((ent = readdir(dir)) != NULL){

stat(ent->d_name, &statbuf); struct tm timer_area; timer_area=*localtime(&statbuf.st_mtime);

printf("Time modified: %s %d-%d-%d\n\n\n", ent->d_name, timer_area.tm_mday,timer_area.tm_mon ,timer_area.tm_year );

} // while

closedir(dir);

Почему-то во всех файлах получается время создания директории Примерно 14-0-105

Укажите пожалуйста на ошибки, может я вообще неправильно делаю.

anonymous

struct dirent *ent; ent->d_name, timer_area.tm_mday

оно и понятно: берёшь параметры директории.

anonymous
()

Ага, я понял, надо просто к имени файла прибавлять имя каталога т.к. у меня см ../kuku/filename Спасибо

anonymous
()

>printf("Time modified: %s %d-%d-%d\n\n\n", ent->d_name, timer_area.tm_mday,timer_area.tm_mon ,timer_area.tm_year );

Немного визабельней: ... %02d-....",...timer_area.tm_year+1900)

didjim
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.