C++获取当前执行文件目录路径以及遍历当前目录所有文件

夙愿已清 提交于 2020-03-13 22:38:53

C++获取当前执行文件目录路径以及遍历当前目录所有文件

为了方便程序员访问操作文件,C++17引入了文件系统库

文件系统库提供在文件系统与其组件,例如路径、常规文件与目录上进行操作的设施。 文件系统库原作为 boost.filesystem 开发,出版为技术规范 ISO/IEC TS 18822:2015 ,并最终从 C++17 开始并入 ISO C++ 。现在 boost 实现可用的编译器和平台于多于 C++17 库。

文件系统库定义于头文件 <filesystem> 定义于命名空间filesystem

在文件头加入以下代码即可使用文件系统库:

#import<filesystem>
// 推荐使用import宏,import宏可以避免重复导入
// #include<filesystem>
namespace fs = std::filesystem;

获取当前文件目录

cout << "current path:" << fs::current_path() << endl;

遍历当前目录所有文件

文件系统库提供了directory_iterator作为文件目录遍历器:

fs::directory_iterator di(fs::current_path());
    for (auto &item : di) {
        cout << di->path().filename()<< endl;
    }

官网中文文档

https://zh.cppreference.com/w/cpp/filesystem

官网文档非常好用。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!