Здравствуйте, гость ( Вход | Регистрация )
|
Bordes |
19.12.2011, 22:36
Сообщение
#1
|
|
Новичок Группа: Новичок Сообщений: 4 Регистрация: 19.12.2011 Пользователь №: 3079 Спасибо сказали: 0 раз(а) Репутация: 0
|
Доброе время суток!
Прошу помощи по решению следующей проблемы: В приложении (под Windows 7) используется recursive_directory_iterator, и когда он (итератор) доходит до каталога с запрещенным доступом, его работа прерывается (по exception). Вопрос в том, как возобновить работу итератора (после exception) и, пропустив проблемный каталог(и), двигаться по каталогам дальше. Доп. сведения: Windows 7 RU, VS 2005, C++ boost 1.46.1 Тестовый пример: Раскрывающийся текст #include "stdafx.h" #include "boost\filesystem.hpp" #include <iostream> using namespace std; using namespace boost; using namespace boost::filesystem3; int _tmain(int argc, _TCHAR* argv[]) { wpath p( L"c:\\" ); // Exception случится, например на "c:\\System Volume Information", // а как пропустить его и продолжить дальше? try { wrecursive_directory_iterator i( p ), end; for(; i != end; i++) { wcout << *i << std::endl; } } catch (const filesystem_error& ex) { wcout << ex.what() << '\n'; } return 0; } |
|
|
|
![]() |
|
Алексей1153 |
20.12.2011, 11:57
Сообщение
#2
|
![]() фрилансер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2946 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: 34
|
а если без доступа к содержимому делать инкремент - тоже выбрасывается или шагает ? (буста нету, проверить не могу)
|
|
|
|
Bordes Работа с recursive_directory_iterator 19.12.2011, 22:36
Алексей1153 логично предположить, что вот так
wrecursive_dir... 20.12.2011, 5:59
Bordes Спасибо за ответ,
но ничего не получилось -
при ... 20.12.2011, 9:04
Iron Bug похоже, это бага буста:
https://svn.boost.org/trac... 20.12.2011, 12:19
Bordes Цитата(Алексей1153 @ 20.12.2011, 11:57) а... 20.12.2011, 19:45
Iron Bug Цитата(Bordes @ 20.12.2011, 22:45) причем... 20.12.2011, 20:25
Bordes О!
Кажется рабочий вариант нашелся: надо в об... 20.12.2011, 23:31
Алексей1153 исключения - зло А они там, в бусте, не отключают... 21.12.2011, 6:28
Iron Bug Цитата(Алексей1153 @ 21.12.2011, 9:28) ис... 21.12.2011, 8:03
Алексей1153 а такой код, пронизанный try-catch - не зло ? )) ... 21.12.2011, 11:41
Iron Bug Цитата(Алексей1153 @ 21.12.2011, 14:41) а... 21.12.2011, 12:18![]() ![]() ![]() |
|
Текстовая версия | Сейчас: 15.12.2025, 1:07 |