因为是使用boost库读取,所以注意一下头文件。
#include <boost/filesystem.hpp>
using namespace std;
namespace fs=boost::filesystem;
int get_filenames(const string &dir,vector<string>&filenames )
{
fs::path path(dir);
if(!fs::exists(path))
{
return -1;
}
fs::directory_iterator end_iter;
for(fs::directory_iterator iter(path);iter!=end_iter;iter++)
{
if(fs::is_regular_file(iter->status()))
{
filenames.push_back(iter->path().string())
}
if(fs::is_directory(iter->status()))
{
get_filenames(iter->path().string(),filenames)
}
}
return filenames.size();
}
该代码示例展示了如何利用Boost库在C++中遍历指定目录,检索其中的所有文件名,并递归处理子目录。通过`boost::filesystem`命名空间的`directory_iterator`,可以轻松获取目录中的每个文件和子目录,然后筛选出普通文件并将其路径添加到结果列表中。
4410

被折叠的 条评论
为什么被折叠?



