2011-04-21 261 views
0

为什么当我尝试使用Boost中的recursive_directory_iterator()迭代分区的所有目录和子目录时,当它到达最后时,Visual Studio 2010会给我一个Abort错误?使用recursive_directory_iterator()时出现问题

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

回答

0

您使用的是什么版本的Boost?直到1.35有一个与空目录有关的bug: https://svn.boost.org/trac/boost/ticket/1061

是你的目录(有时)是空的吗?

+0

我正在使用1.44是的,我有一个空目录,但它后迭代,但当它结束时,它给了我错误 – Kobe 2011-04-21 22:51:02

+0

尝试与非空目录,只是为了好玩。它是通过100%的内部文件完成的,还是在某个中途崩溃了,或者它能够正常工作? – 2011-04-21 22:53:59

+0

是的,还是一样的... – Kobe 2011-04-21 23:07:28