EDIT: Я использую зЬй :: TR2 :: SYS не форсировать filesytem-хфайловая система directory_iterator не возвращает полный путь к файлу
Я работаю на простое приложение, которое сканирует каталоги на компьютере и возвращает статистику о тех файлах , Существует два способа сканирования: рекурсивно и нерекурсивно. Путь передается в метод сканирования вместе с флагом для того, нужно ли сканирование выполнять рекурсивно. Учитывая path folder
двух реализаций выглядеть примерно так:
directory_iterator start(folder), end;
for(; start != end; ++start) {
//Some code in here
// get the path like this:
auto path = start->path();
}
или
recursive_directory_iterator start(folder), end;
for(; start != end; ++start) {
//Some code in here
// get the path like this:
auto path = start->path();
}
Проблема Я сталкиваюсь, что в блоке, который использует регулярные directory_iterator, когда я пытаюсь и захватить путь его будет возвращать только имя файла, т. е. «myTextFile.txt», где при получении его из recursive_directory_iterator возвращается полный путь к файлу в системе. В каждом случае значение папки одинаково (полный путь к файлу). Есть ли причина, что передняя часть пути отрубается или есть какой-то способ получить полный путь к файлу только из сокращенного, который я возвращаю из directory_iterator?
Спасибо, что работает отлично. –
@JesseCarter: Интересно, что 'boost :: filesystem' дает вам полный путь с помощью' start-> path(); ', но реализация Microsoft не делает этого. –