Мне нужно рекурсивно искать файлы в одном каталоге и его подкаталоге, но я хочу исключить из поиска один путь (с его файлами и подкаталогом).
Я использую модификаторы std::experimental::filesystem::recursive_directory_iterator
и pop()
, но это не работает. Где я не прав?
void search(const char* pathToSearch,const char* pathToExclude){
std::experimental::filesystem::recursive_directory_iterator iterator(pathToSearch);
for (auto& p : iterator) {
if (p.path() == std::experimental::filesystem::directory_entry(pathToExclude).path()) iterator.pop();
if (fs::is_directory(p)) continue; //exclude directory from output
else std::cout << p << std::endl;
}
}