Как избежать исключений fs::directory_iteratorC++

Программы на C++. Форум разработчиков
Anonymous
Как избежать исключений fs::directory_iterator

Сообщение Anonymous »

Я использую следующий цикл для извлечения имен файлов и каталогов из корневого пути:

Код: Выделить всё

for (const auto& entry : fs::directory_iterator(dirToList, fs::directory_options::skip_permission_denied, ec)) {
// Doing some work
}
Я использовал ec, чтобы избежать исключения, но получаю следующую ошибку:

Код: Выделить всё

terminate called after throwing an instance of 'std::experimental::filesystem::v1::__cxx11::filesystem_error'
what():  filesystem error: status: Too many levels of symbolic links [/proc/self/task/92639/fd/4/proc/self/task/92639/fd/4/proc/self/task/92639/fd/4/proc/self/task/92639/fd/4/proc/self/task/92639/fd/4/proc/self/task/92639/fd/4/proc/self/task/92639/fd/4/proc/self/task/92639/fd/4/proc/self/task/92639/fd/4/proc/self/task/92639/fd/4/proc/self/task/92639/fd/4/proc/self/task/92639/fd/4/proc/self/task/92639/fd/4/proc/self/task/92639/fd/4/proc/self/task/92639/fd/4/proc/self/task/92639/fd/4/proc/self/task/92639/fd/4/proc/self/task/92639/fd/4/proc/self/task/92639/fd/4/proc/self/task/92639/fd/4/media/floppy]
Aborted (core dumped)
< /code>
Приведенная выше ошибка, по-видимому, связана с символической ссылкой, поэтому я использовал следующее, чтобы избежать ее: < /p>
if(fs::is_symlink(entry, ec)){
std::cerr 

Подробнее здесь: [url]https://stackoverflow.com/questions/76851098/how-to-avoid-fsdirectory-iterator-exceptions[/url]

Вернуться в «C++»