Как избежать исключений 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]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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