crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

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;
}

Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 4.4.2025, 11:04