есть ли способ найти последний измененный файл из каталога в C ++? - PullRequest
0 голосов
/ 04 августа 2020

Я пытаюсь найти последний измененный файл (на основе отметки времени) в C ++. Предположим, что в каталоге много файлов, но как получить последний измененный файл? Я пробовал использовать dirent.h, но мне нужно включить дополнительный файл заголовка, а также использовать stat, но в stat я могу получить единственную дату файла. Есть ли способ получить имена всех файлов в каталоге, а затем прочитать их один за другим?

Кто-нибудь может мне помочь? Приветствуется небольшой фрагмент кода.

Операционная система: Windows

1 Ответ

4 голосов
/ 04 августа 2020

есть ли способ найти последний измененный файл из каталога в C ++?

Да. Все части решения находятся в стандартной библиотеке: вы можете получить диапазон файлов в каталоге, используя std::filesystem::directory_iterator, и вы можете получить время последнего изменения, используя std::filesystem::last_write_time, и вы можете найти максимум в диапазоне, используя std:max_element.

но я использую более старую версию [чем C ++ 17]

До C ++ 17 взаимодействие с файловой системой в стандартной библиотеке было чрезвычайно ограничено. Это могло быть реализовано только с использованием API, предоставляемого операционной системой.

...