C++如何遍历文件夹?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++如何遍历文件夹?相关的知识,希望对你有一定的参考价值。
如何返回某个路径下所有文件(包括子文件夹中的文件)的文件名?采纳后再追加悬赏!!
标准C++目前并没有对文件系统的直接支持——世界上的文件系统千变万化,几乎无法搞出放之四海皆准的库
不过如果局限在 Windows 和 POSIX 兼容操作系统 这两类操作系统的话,难度就低多了。
Boost.Filesystem 库就提供了相关工具。这个库已经被标准化,即是 ISO/IEC TS 18822:2015 标准。最新版的 GCC 和 Visual Studio 部分支持这个库。
Filesystem 库的 recursive_directory_iterator 符合你的需求。
#include <iostream>
#include <experimental/filesystem> // 如果是 boost 则改为 #include <boost/filesystem.hpp>
// 如果用的是 Boost.Filesystem 则下一行改成 namespace fs = boost::filesystem;
namespace fs = std::experimental::filesystem;
int main()
for(fs::path p: fs::recursive_directory_iterator("路径"))
std::cout << p.filename() << '\\n';
参考技术A 首先编译器开C++17,头文件加filesystem
for(auto di : std::filesystem::recursive_directory_iterator(路径))
if(di.is_regular_file())
std::filesystem::path 文件路径 = di.path();
......
以上是关于C++如何遍历文件夹?的主要内容,如果未能解决你的问题,请参考以下文章