vs2010下用c++的boost库写的一个遍历目录下文件夹的程序,运行时报错,如图:
代码如下:
#include <iostream>
#include <string>
#include <vector>
#include <boost/filesystem.hpp>
#include <fstream>
using namespace std;
void GetAllFileOfPath(const boost::filesystem::path &base_dir, const std::string &extension,vector<string>& container)
{
boost::filesystem::path full_path( boost::filesystem::initial_path() );
full_path = boost::filesystem::system_complete( base_dir );
if (!boost::filesystem::exists (full_path) && !boost::filesystem::is_directory (full_path))
return;
for (boost::filesystem::directory_iterator it (full_path); it != boost::filesystem::directory_iterator (); ++it)
{
if (boost::filesystem::is_directory (it->status ()))
{
GetAllFileOfPath (it->path (), extension, container);
}
if (boost::filesystem::is_regular_file (it->status ()) && boost::filesystem::extension (it->path ()) == extension)
{
container.push_back(it->path().string());
}
}
}
int main()
{
vector<string> container;
std::string extension (".pcd");
transform (extension.begin (), extension.end (), extension.begin (), (int(*)(int))tolower);
string s="data/";
boost::filesystem::path base_dir=s;
GetAllFileOfPath(base_dir,extension,container);
for (auto it=container.begin();it!=container.end();it++)
{
cout<<*it<<endl;
}
return 0;
}
C++已经够糟糕了
还加上Java那套玩意
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。