C++获取指定目录下的所有文件
发布时间 - 2026-01-11 01:50:54 点击率:次本文实例为大家分享了C++获取指定目录下所有文件的具体代码,供大家参考,具体内容如下

1.获得指定目录下的所有文件(不搜索子文件夹)
需要包含的头文件
#include <io.h> #include <string> #include <vector> #include <fstream>
函数实现
void getAllFiles(string path, vector<string>& files)
{
// 文件句柄
long hFile = 0;
// 文件信息
struct _finddata_t fileinfo;
string p;
if ((hFile = _findfirst(p.assign(path).append("\\*").c_str(), &fileinfo)) != -1) {
do {
// 保存文件的全路径
files.push_back(p.assign(path).append("\\").append(fileinfo.name));
} while (_findnext(hFile, &fileinfo) == 0); //寻找下一个,成功返回0,否则-1
_findclose(hFile);
}
}
2.获取指定目录下的所有文件(搜索子文件夹)
void getAllFiles(string path, vector<string>& files) {
//文件句柄
long hFile = 0;
//文件信息
struct _finddata_t fileinfo;
string p;
if ((hFile = _findfirst(p.assign(path).append("\\*").c_str(), &fileinfo)) != -1) {
do {
if ((fileinfo.attrib & _A_SUBDIR)) { //比较文件类型是否是文件夹
if (strcmp(fileinfo.name, ".") != 0 && strcmp(fileinfo.name, "..") != 0) {
files.push_back(p.assign(path).append("\\").append(fileinfo.name));
//递归搜索
getAllFiles(p.assign(path).append("\\").append(fileinfo.name), files);
}
}
else {
files.push_back(p.assign(path).append("\\").append(fileinfo.name));
}
} while (_findnext(hFile, &fileinfo) == 0); //寻找下一个,成功返回0,否则-1
_findclose(hFile);
}
}
3.获取指定格式的文件(不搜索子文件夹)
/*
path: 指定目录
files: 保存结果
fileType: 指定的文件格式,如 .jpg
*/
void getAllFiles(string path, vector<string>& files,string fileType)
{
// 文件句柄
long hFile = 0;
// 文件信息
struct _finddata_t fileinfo;
string p;
if ((hFile = _findfirst(p.assign(path).append("\\*" + fileType).c_str(), &fileinfo)) != -1) {
do {
// 保存文件的全路径
files.push_back(p.assign(path).append("\\").append(fileinfo.name));
} while (_findnext(hFile, &fileinfo) == 0); //寻找下一个,成功返回0,否则-1
_findclose(hFile);
}
}
4.测试
int main(int argc, char** argv)
{
vector<string> temp;
getAllFiles("J:\\faces\\test", temp,".jpg");
for (int i = 0; i < temp.size();++i )
{
cout << temp[i] << endl;
}
return 0;
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# C++获取指定目录下文件
# C++获取指定文件
# C++获取文件
# linux C++ 获取文件绝对路径的实例代码
# C++遍历文件夹获取文件列表
# C/C++获取目录下的文件列表信息
# C++获取文件哈希值(hash)和获取torrent(bt种子)磁力链接哈希值
# C++获取zip文件列表方法
# 句柄
# 递归
# 目录下
# 保存文件
# 大家分享
# 具体内容
# 大家多多
# 头文件
# path
# amp
# getAllFiles
# vector
# fstream
# void
# files
# struct
# _finddata_t
# fileinfo
# text
# long
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251811 】
【
AI营销90571 】
相关推荐:
高性价比服务器租赁——企业级配置与24小时运维服务
Laravel软删除怎么实现_Laravel Eloquent SoftDeletes功能使用教程
微信小程序 input输入框控件详解及实例(多种示例)
如何快速打造个性化非模板自助建站?
php增删改查怎么学_零基础入门php数据库操作必知基础【教程】
Python制作简易注册登录系统
如何在HTML表单中获取用户输入并用JavaScript动态控制复利计算循环
实例解析Array和String方法
Laravel如何使用Gate和Policy进行权限控制_Laravel权限判定与策略规则配置
为什么要用作用域操作符_php中访问类常量与静态属性的优势【解答】
Win11搜索不到蓝牙耳机怎么办 Win11蓝牙驱动更新修复【详解】
安克发布新款氮化镓充电宝:体积缩小 30%,支持 200W 输出
Laravel如何安装使用Debugbar工具栏_Laravel性能调试与SQL监控插件【步骤】
Laravel如何处理和验证JSON类型的数据库字段
JavaScript 输出显示内容(document.write、alert、innerHTML、console.log)
如何快速生成凡客建站的专业级图册?
Laravel如何处理文件上传_Laravel Storage门面实现文件存储与管理
在线制作视频网站免费,都有哪些好的动漫网站?
移动端脚本框架Hammer.js
作用域操作符会触发自动加载吗_php类自动加载机制与::调用【教程】
网站建设要注意的标准 促进网站用户好感度!
Laravel如何实现多语言支持_Laravel本地化与国际化(i18n)配置教程
JavaScript如何实现倒计时_时间函数如何精确控制
百度浏览器ai对话怎么关 百度浏览器ai聊天窗口隐藏
如何在宝塔面板中修改默认建站目录?
Javascript中的事件循环是如何工作的_如何利用Javascript事件循环优化异步代码?
如何快速搭建高效WAP手机网站?
购物网站制作费用多少,开办网上购物网站,需要办理哪些手续?
北京的网站制作公司有哪些,哪个视频网站最好?
香港服务器网站卡顿?如何解决网络延迟与负载问题?
PHP 实现电台节目表的智能时间匹配与今日/明日轮播逻辑
Laravel Eloquent性能优化技巧_Laravel N+1查询问题解决
Laravel API路由如何设计_Laravel构建RESTful API的路由最佳实践
php 三元运算符实例详细介绍
如何在云服务器上快速搭建个人网站?
Win11怎么更改系统语言为中文_Windows11安装语言包并设为显示语言
Laravel如何使用Service Container和依赖注入?(代码示例)
如何在Windows服务器上快速搭建网站?
html5怎么画眼睛_HT5用Canvas或SVG画眼球瞳孔加JS控制动态【绘制】
EditPlus中的正则表达式实战(5)
Python面向对象测试方法_mock解析【教程】
如何用IIS7快速搭建并优化网站站点?
php读取心率传感器数据怎么弄_php获取max30100的心率值【指南】
太平洋网站制作公司,网络用语太平洋是什么意思?
如何在Windows 2008云服务器安全搭建网站?
JavaScript Ajax实现异步通信
如何用AI一键生成爆款短视频文案?小红书AI文案写作指令【教程】
图片制作网站免费软件,有没有免费的网站或软件可以将图片批量转为A4大小的pdf?
简单实现Android文件上传
如何自定义建站之星模板颜色并下载新样式?

