Найти самый новый файл в директории UNIX - C (СИ)
Формулировка задачи:
Недавно увидел такой вопрос на сайте вопрос и ответов. Задался целью его решить ииии...
Выродил я всего лишь следующее
Код конечно страшненький, но надеюсь ничьи чувства я не оскорбил. Предполагаемый результат работы кода: вывод новейшего
файла в директории. Ошибка: st_mtime одинаковые у многих файлов, у некоторых отрицательное да еще и меняется переодически. Что происходит?
int main(void){
FILE *fp;
struct stat buff;
struct stat st_newest;
DIR *dfd;
struct dirent *dp;
struct dirent *newest;
dfd=opendir("test");
newest = readdir(dfd);
stat(newest->d_name, &st_newest);
while((dp=readdir(dfd)) != NULL){
stat(dp->d_name, &buff);
if(st_newest.st_mtime > buff.st_mtime){
newest = dp;
stat(newest->d_name, &st_newest);
}
}
printf("name: %s\n", newest->d_name);
return 0;
}Решение задачи: «Найти самый новый файл в директории UNIX»
textual
Листинг программы
man 2 stat man scandir