【发布时间】:2014-03-03 21:32:49
【问题描述】:
我正在使用下面的代码,改编自this 线程。我能够获取文件夹中的文件列表,但最后出现分段错误。知道为什么会这样吗?
有没有办法在for循环中获取当前文件(完整路径)的std::string?
boost::filesystem::path path("my_path");
static void myfunction()
{
boost::filesystem::directory_iterator end_itr;
// path is a static variable, defined somewhere else
for(boost::filesystem::directory_iterator dir_iter(path);
dir_iter != end_itr; ++dir_iter)
if( boost::filesystem::is_regular_file(dir_iter->status()) )
{
// print
}
}
【问题讨论】:
-
你能显示
end_itr和path的初始化吗? -
已更新。它应该自动初始化。
-
我猜 sn-p 不完整......一个常见的错误是,在循环之后对 dir_iter 做一些事情,然后这是无效的......
标签: c++ boost filesystems segmentation-fault