我想编写一个从目录中读取多个文件的 C++ 程序,文件的数量是不确定的。我知道一个 Python 实现 - OS.walk,它完美地完成了这项工作:
有人对此 OS.walk 功能的 C++ 实现有任何想法吗?
提前致谢
我想编写一个从目录中读取多个文件的 C++ 程序,文件的数量是不确定的。我知道一个 Python 实现 - OS.walk,它完美地完成了这项工作:
有人对此 OS.walk 功能的 C++ 实现有任何想法吗?
提前致谢
#include <boost/filesystem.hpp>
#include <iostream>
int main()
{
boost::filesystem::path path = boost::filesystem::current_path();
boost::filesystem::recursive_directory_iterator itr(path);
while (itr != boost::filesystem::recursive_directory_iterator())
{
std::cout << itr->path().string() << std::endl;
++itr;
}
}
直接取自http://www.deanwarrenuk.com/2012/09/how-to-recursively-walk-folder-in-c.html
这很好地解释了为什么需要 boost 库来隐藏文件系统中的差异。
使用标准 C++,目前这是不可能的。
但是您可以使用Boost.Filesystem(查找recursive_directory_iterator
),它可能会包含在未来的 C++ 版本中。