CPP 获取目录下的文件
- 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 获取目录下的文件相关推荐
- 关于BaiduPCS-Go不能用问题解决,报错【获取目录下的文件列表 遇到错误, 远端服务器返回错误】
BaiduPCS-Go不能使用报错:获取目录下的文件列表 遇到错误, 远端服务器返回错误, 代码: 4, 消息: No permissionto do this operation, 路 ...
- java 递归获取目录下所有文件
对于一个嵌套的目录,获取目录下所有的文件,可以使用一下两种方式: 1.递归方法: static List<String> ergodic(File file, List<String ...
- Golang获取目录下的文件及目录信息
一.获取当前目录下的文件或目录信息(不包含多级子目录) func main() {pwd,_ := os.Getwd()//获取文件或目录相关信息fileInfoList,err := ioutil. ...
- python获取文件夹下文件_Python 获取目录下的文件列表与内容
下面的python例子是列举用户目录下面的文件 import os import sys #info=os.getcwd() #listfile=os.listdir(os.getcwd()) inf ...
- C/C++ 获取目录下的文件列表信息
在C/C++编程时,需要获取目录下面的文件列表信息. 1.数据结构 struct dirent { long d_ino; /* inode number 索引节点号 ...
- C#获取目录下所有文件的列表——最白话,手把手教你做系列。
最近,在试着做一个Unity自动生成Ui的功能. 理论比较简单,通过拼接字符串生成脚本,都是Ok的,但为了更方便,就想顺便把文件路径也自动生成一下.即获取某个目录下所有预制体的文件目录. 于是就需要一 ...
- php获取目录下所有文件及目录(多种方法)
获取某目录下所有子文件和子目录 function getDirContent($path){if(!is_dir($path)){return false;}//readdir方法/* $dir = ...
- shell获取目录下所有文件夹的名称并输出
获取指定目录/usr/下所有文件夹的名称并输出: shell代码: 1 #!/bin/bash 2 #方法一 3 dir=$(ls -l /usr/ |awk '/^d/ {print $NF}') ...
- Go 学习笔记(49)— Go 标准库之 io/ioutil(读写文件、获取目录下的文件和子目录、创建临时目录和文件)
1. 简要概述 import "io/ioutil" 包 io/ioutil 实现一些 I/O 实用程序函数. 2. 相关函数 2.1 func ReadAll func Read ...
- Python 获取目录下的文件列表,并自然排序
在实际的算法与程序开发中,经常需要面对的场景就是对同一目录内的文件进行批量操作.并且很多时候目录中的文件明明是有规律的,同时希望程序在进行处理时也是按照一定的顺序进行. 方法 1 >>&g ...
最新文章
- ECCV2020论文-稀疏性表示-Neural Sparse Representation for Image Restoration翻译
- Android 2.3 API改变大全(转载)
- id3决策树_信息熵、信息增益和决策树(ID3算法)
- 自定义注解 实现自定义消息_实现自定义的未来
- threejs设置对象层次
- JVM Java内存区域 与 内存溢出 (系列号1)
- zoj3802:easy 2048 again(状压dp)
- SoftPAC 虚拟控制器漏洞使 OT 网络易受攻击
- TensorFlow基础篇(四)—— tf.nn.relu()
- 从Android support到Androidx
- 社区医疗管理系统方案/案列/APP/软件/小程序/网站
- 14.linux中的无人职守安装脚本kickstart
- DotNetCore CAP
- Win10 默认输入变全角问题解决方法
- 微星笔记本的神奇之处
- noip2012 pj错题整理
- Microsoft 工作账户无法删除 解决方法
- 微光互联 TX800-U 扫码器无法输出中文到光标的问题
- [作品]文本修辑转换器
- 【canvas使用】