• CPP 获取目录下的文件

    • filesystem 标准库介绍
    • 实现代码

CPP 获取目录下的文件

在 Python 中获取目录下的所有文件可以用 os.listdir(path) 实现,在CPP中有没有类似的方法呢?答案是肯定的。

filesystem 标准库介绍

filesystem 库提供了对文件系统及其组件(例如路径、常规文件和目录)执行操作的工具。 文件系统库最初开发为 boost.filesystem,作为技术规范 ISO/IEC TS 18822:2015 发布,最终从 C++17 合并到 ISO C++。 boost 实现目前在比 C++17 库更多的编译器和平台上可用。 所用的命名空间是 std::filesystem 。我们用到了库里提供的 directory_iterator 类 (C++17), 它提供目录内容的迭代器。

实现代码

void listDir(const std::string &path, std::vector<std::string> &files,std::string suffix = "") {for (auto &entry : std::filesystem::directory_iterator(path)) {std::string fileName = entry.path();if (suffix.empty()) {files.push_back(fileName);} else {int pos = fileName.rfind(suffix);if (pos != std::string::npos &&fileName.compare(pos, suffix.size() - 1, suffix)) {files.push_back(fileName);}}}
}
  • 结果
All files: |- /home/larry/图片|- /home/larry/.bashrc-anaconda3.bak|- /home/larry/文档|- /home/larry/音乐|- /home/larry/桌面|- /home/larry/.bashrc.2021-10-01-17-03.bak|- /home/larry/下载File names ending in .bak|- /home/larry/.bashrc.2021-10-01-17-03.bak|- /home/larry/.bashrc-anaconda3.bak
  • 完整代码 在这里

CPP 获取目录下的文件相关推荐

  1. 关于BaiduPCS-Go不能用问题解决,报错【获取目录下的文件列表 遇到错误, 远端服务器返回错误】

           BaiduPCS-Go不能使用报错:获取目录下的文件列表 遇到错误, 远端服务器返回错误, 代码: 4, 消息: No permissionto do this operation, 路 ...

  2. java 递归获取目录下所有文件

    对于一个嵌套的目录,获取目录下所有的文件,可以使用一下两种方式: 1.递归方法: static List<String> ergodic(File file, List<String ...

  3. Golang获取目录下的文件及目录信息

    一.获取当前目录下的文件或目录信息(不包含多级子目录) func main() {pwd,_ := os.Getwd()//获取文件或目录相关信息fileInfoList,err := ioutil. ...

  4. python获取文件夹下文件_Python 获取目录下的文件列表与内容

    下面的python例子是列举用户目录下面的文件 import os import sys #info=os.getcwd() #listfile=os.listdir(os.getcwd()) inf ...

  5. C/C++ 获取目录下的文件列表信息

    在C/C++编程时,需要获取目录下面的文件列表信息. 1.数据结构 struct dirent { long d_ino;                 /* inode number 索引节点号 ...

  6. C#获取目录下所有文件的列表——最白话,手把手教你做系列。

    最近,在试着做一个Unity自动生成Ui的功能. 理论比较简单,通过拼接字符串生成脚本,都是Ok的,但为了更方便,就想顺便把文件路径也自动生成一下.即获取某个目录下所有预制体的文件目录. 于是就需要一 ...

  7. php获取目录下所有文件及目录(多种方法)

    获取某目录下所有子文件和子目录 function getDirContent($path){if(!is_dir($path)){return false;}//readdir方法/* $dir = ...

  8. shell获取目录下所有文件夹的名称并输出

    获取指定目录/usr/下所有文件夹的名称并输出: shell代码: 1 #!/bin/bash 2 #方法一 3 dir=$(ls -l /usr/ |awk '/^d/ {print $NF}') ...

  9. Go 学习笔记(49)— Go 标准库之 io/ioutil(读写文件、获取目录下的文件和子目录、创建临时目录和文件)

    1. 简要概述 import "io/ioutil" 包 io/ioutil 实现一些 I/O 实用程序函数. 2. 相关函数 2.1 func ReadAll func Read ...

  10. Python 获取目录下的文件列表,并自然排序

    在实际的算法与程序开发中,经常需要面对的场景就是对同一目录内的文件进行批量操作.并且很多时候目录中的文件明明是有规律的,同时希望程序在进行处理时也是按照一定的顺序进行. 方法 1 >>&g ...

最新文章

  1. ECCV2020论文-稀疏性表示-Neural Sparse Representation for Image Restoration翻译
  2. Android 2.3 API改变大全(转载)
  3. id3决策树_信息熵、信息增益和决策树(ID3算法)
  4. 自定义注解 实现自定义消息_实现自定义的未来
  5. threejs设置对象层次
  6. JVM Java内存区域 与 内存溢出 (系列号1)
  7. zoj3802:easy 2048 again(状压dp)
  8. SoftPAC 虚拟控制器漏洞使 OT 网络易受攻击
  9. TensorFlow基础篇(四)—— tf.nn.relu()
  10. 从Android support到Androidx
  11. 社区医疗管理系统方案/案列/APP/软件/小程序/网站
  12. 14.linux中的无人职守安装脚本kickstart
  13. DotNetCore CAP
  14. Win10 默认输入变全角问题解决方法
  15. 微星笔记本的神奇之处
  16. noip2012 pj错题整理
  17. Microsoft 工作账户无法删除 解决方法
  18. 微光互联 TX800-U 扫码器无法输出中文到光标的问题
  19. [作品]文本修辑转换器
  20. 【canvas使用】

热门文章

  1. 卧槽!字节跳动的面试算法题,实在太变态了
  2. 互联网晚报 | 12月2日 星期四 | 荣耀60系列正式发布;高通发布全新一代骁龙8移动平台;新东方在线布局教育智能硬件...
  3. 树莓派安装wps2019教程
  4. python用什么数据库比较好_Python和主流数据库
  5. C# 控制台、接口、窗体使用BarTender打印标签 (亲测可用)
  6. maven打包命令-P和-D的用法
  7. 搭建vue开发环境的步骤
  8. learun力软敏捷开发框架
  9. libaio-devel下载
  10. Android:Java集合面试题集锦