Проблема при использовании recursive_directory_iterator()

#c #windows #boost #boost-filesystem

#c #Windows #повышение #boost-файловая система

Вопрос:

Почему, когда я пытаюсь перебрать все каталоги и подкаталоги раздела с помощью recursive_directory_iterator() из Boost, когда он достигает конца, Visual Studio 2010 выдает мне ошибку прерывания?

 path Path = "e:\";
for(recursive_directory_iterator it(Path); it != recursive_directory_iterator();   it)
{
    cout << *it << endl;
}
  

Ответ №1:

Какую версию Boost вы используете? Была ошибка, связанная с пустыми каталогами до версии 1.35: https://svn.boost.org/trac/boost/ticket/1061

Ваш каталог (иногда) пуст?

Комментарии:

1. Я использую 1.44 да, у меня есть пустой каталог, но после этого он повторяется, но когда он заканчивается, он выдает мне ошибку

2. Попробуйте это с непустым каталогом, просто для удовольствия. Проходит ли это через 100% файлов внутри, или происходит сбой где-то на полпути, или это работает тогда?