作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
有什么办法可以遍历一个目录的内容吗?我想将每个文件夹的名称存储在给定目录中。
谢谢!
最佳答案
根据您对 C++/Boost 感兴趣的标签。然后,请借this SO answer :
#include <utility>
#include <boost/filesystem.hpp>
#include <boost/foreach.hpp>
#define foreach BOOST_FOREACH
namespace fs = boost::filesystem;
fs::recursive_directory_iterator it(top), eod;
foreach (fs::path const & p, std::make_pair(it, eod)) {
if (is_directory(p)) {
...
} else if (is_regular_file(p)) {
...
} else if (is_symlink(p)) {
...
}
}
另一个版本,取自Rosetta code:
#include "boost/filesystem.hpp"
#include "boost/regex.hpp"
#include <iostream>
using namespace boost::filesystem;
int main()
{
path current_dir("."); //
boost::regex pattern("a.*"); // list all files starting with a
for (recursive_directory_iterator iter(current_dir), end;
iter != end;
++iter)
{
std::string name = iter->path().leaf();
if (regex_match(name, pattern))
std::cout << iter->path() << "\n";
}
}
关于c++ - 遍历目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2550309/
我是一名优秀的程序员,十分优秀!