Я пытался перебирать каталог, используя этот образец, который я нашел с быстрым поиском Google:подталкивания directory_iterator вызывает сбой
namespace bf = boost::filesystem;
bf::path p("somedir");
bf::directory_iterator end_iter;
for (bf::directory_iterator iter(p); iter != end_iter; ++iter) {
}
Однако при выполнении этого через терминал, конструктор по умолчанию вызывает следующее: testapp(6538) malloc: *** error for object 0x10fee9820: pointer being freed was not allocated
. Дальнейшая отладка показала, что это происходит в конструкторе directory_iterator. Это случилось с кем-то еще? Если я запускаю это через NetBeans, все работает нормально.
Я использую OSX 10.8.3 и GCC 4.8
Вы можете делиться сомером? Я думаю, что это должно быть что-то вроде boost :: filesystem :: path p ("c: \\ dir"); – MAG
@MAG Я использую OSX, поэтому нет C: \\. Путь также относится к рабочему каталогу, и я включил проверку, чтобы увидеть, существует ли каталог. Каталог - это обычный каталог, содержащий кучу .txt-файлов. – Nik
sry я пропустил это. Http://www.boost.org/doc/libs/1_47_0/libs/filesystem/v3/example/tut3.cpp может быть полезно, но странно, что у вас другое поведение с netbeans, которое может произойти, если у вас разные версии boost на вашей системе ... – MAG