Boost的filesystem可以用来扫描给定目录下的所有项。
具体实现代码如下:
需要包含的头文件和使用的命名空间:
#include filesystem.hpp>< span>
using namespace boost::filesystem;
扫描目录下文件的代码:
for (directory_iterator dit(your_path); dit != directory_iterator(); dit++){
if (is_regular_file(*dit)){
cout << dit->path().filename() << endl;
}
}
有时候可能需要判断你的路径是否是目录:
bool is_directory(const boost::filesystem::path &p;);
是不是一般的文件:
bool is_regular_file(const boost::filesystem::path &p;);
主要使用directory_iterator
来完成目录下文件的扫描,注意它的结束时与directory_iterator()
默认构造函数来做比较的!