c++ 获取指定目录下的所有文件

项目总结 之 C++获取文件夹下所有文件 在最近做的一个项目中,需要一个获取一个文件夹下文件的功能,之前一直对文件的操作一直停留在对文件的读写,还从来没有接触过文件夹相关的操作。因此,这次有幸使用了,还是记录下来吧,以后肯定也会有很多使用的机会。 参考博客 C++ 文件/文件夹操作 1 本人项目中使用的方法(算比较蠢的吧,还是代码写的太少了。。) 需要使用dirent.h这个头文件,然后使用的基本流程是opendir ->readd... 阅读详情

获取指定目录下的所有文件

//1、获取指定目录下的所有文件
DWORD GetAllFiles(string strPath,vector<string> &vFiles,string strFileType = "",bool bRec = true/*是否递归子文件夹*/,bool bPorn = true/*true 返回全路径否则返回文件名*/)
{
	//文件句柄
	long hFile = 0;
	//文件信息
	_finddata_t fileinfo;
	string p;

	//文件数量 递归调用只能被初始化一次
	static  DWORD dwFileCount = 0;
	//若果strPath下没有指定类型的文件,则看是否有子文件夹继续搜
	if ((hFile = _findfirst(p.assign(strPath).append("\\*" + strFileType).c_str(),&fileinfo)) != -1)
	{
		do
		{
			dwFileCount++;
			if (bPorn) //保存全路径
			{
				vFiles.push_back(p.assign(strPath).append("\\").append(fileinfo.name));
			}
			else     //保存文件名
			{
				vFiles.push_back(fileinfo.name);
			}

			if (bRec && fileinfo.attrib & _A_SUBDIR)
			{
				if (strcmp(fileinfo.name, ".") != 0 && strcmp(fileinfo.name, "..") != 0)
				{
					//递归搜索
					GetAllFiles(p.assign(strPath).append("\\").append(fileinfo.name), vFiles, strFileType, bRec, bPorn);
				}
			}
		} while (_findnext(hFile,&fileinfo) == 0);
		_findclose(hFile);
	}
	else
	{
		if ((hFile = _findfirst(p.assign(strPath).append("\\*").c_str(), &fileinfo)) != -1)
		{
			do
			{
				if (bRec && fileinfo.attrib & _A_SUBDIR)
				{
					if (strcmp(fileinfo.name, ".") != 0 && strcmp(fileinfo.name, "..") != 0)
					{
						//递归搜索
						GetAllFiles(p.assign(strPath).append("\\").append(fileinfo.name), vFiles, strFileType, bRec, bPorn);
					}
				}
			} while (_findnext(hFile, &fileinfo) == 0);
			_findclose(hFile);

		}
	}

	return dwFileCount;
}
int main()
{
	vector<string> files;
	string path = "D:\\C++\\GetAllFileName";
	string filetype = "";
	bool bRec = true/*是否递归子文件夹*/;
	bool bPorn = true/*true 返回全路径否则返回文件名*/;

	DWORD dwFileCount = GetAllFiles(path, files, filetype, bRec, bPorn);
	printf("总共 %d 个文件\n", dwFileCount);
	for (int i = 0; i < files.size(); i++)
	{
		printf("%s\n",files[i].c_str());
	}

	getchar();
    return 0;
}

C++获取指定目录中的所有文件名 “佳人犹唱醉翁词,四十三年如电抹。”——(北宋) 苏轼 《木兰花·次欧公西湖韵》 昨天又在网络上摘抄了一段工具类的代码,因为以后可能还会用到,所以简单记录一下。使用C++获取指定目录中的所有文件名,这里不包括该目录下的子目录的文件,如果需要包括的话可以在网上再搜一搜,有很多可以实现这个功能的代码。话不多说,直接上代码: #include <stdio.h> #include <string.h> #include <dirent.h> void g... 阅读详情

相关推荐

C++:获取指定目录下的所有文件

1.获得指定目录下的所有文件(不搜索子文件夹) 需要包含的头文件 #include #include #include #include 函数实现 void getAllFiles(string path, vector& files) { // 文件句柄 long hFile = 0; // 文件信息 struct _finddata_t fil

WHLOOK 2467

C++如何获取指定目录下的所有文件

利用C++获取指定目录下的所有文件(包含是否搜索子文件夹两种方法)

m0_67357141的博客 5992

C++实现读取指定文件夹下的所有文件

前言 由于项目中需要读取某个文件夹的所有文件路径,这里简单总结如下,仅供备忘。 一 代码 1.1 头文件 include/algorithm.h #include <iostream> #include <string> #include <vector> using namespace std; #define linux //#define _WIN32 vector<string> getFilesList(string dirpath); vec

3D视觉工坊 4566

C++读取指定目录下的所有文件

简介:代码备忘,使用C++读取指定目录下的所有文件名,并存入vector向量。输入文件夹的路径和vector向量,返回vimgPath。

超爱吃小蛋糕的66的博客 4694

用C/C++ 列出指定目录的所有文件夹和文件

用C/C++ 列出指定目录的所有文件夹和文件用

FoundationPose实战:从零部署到Demo运行全记录

本文详细记录了FoundationPose从零部署到Demo运行的全过程,包括Ubuntu环境配置、项目部署、依赖安装及常见问题解决方案。特别针对复现过程中的关键步骤如CUDA版本选择、Eigen3安装等提供了实用技巧,帮助开发者高效完成FoundationPose的部署与调试。

weixin_27102543的博客 268

c语言获取目录下所有文件,C++获取指定目录下的所有文件

本文实例为大家分享了C++获取指定目录下所有文件的具体代码,供大家参考,具体内容如下1.获得指定目录下的所有文件(不搜索子文件夹)需要包含的头文件#include #include #include #include 函数实现void getAllFiles(string path, vector& files){// 文件句柄long hFile = 0;// 文件信息struct _f...

weixin_39665787的博客 3476

Sourcetree与Gitee的搭配使用

初次将gitee与sourcetree联合起来使用,还是遇到了不少问题,其中最让人烦恼的就是在我修改了一下用户名之后,便无法在Sourcetree直接推送到gitee,很是让人郁闷。本文处理Sourcetree与gitee搭配使用过程中的问题:Sourcetree身份验证失败,无法推送;Sourcetree推送时,无法显示要推送的分支;Sourcetree远端上面有感叹号。

年少时的棉花糖 4434

c++获取指定目录下文件个数

记得jia'ru int ReadScanDataFile::getDirFileNum(const std::string dirPath) { struct _finddata_t fileinfo; std::string current = dirPath + "\\*.*"; int handle = _findfirst(current.c_str(), &fileinfo); int fileNum = 0; if (handle == -1)...

Pailugou的博客 3337

从Protocol到硬件控制:揭秘高通UEFI中ABL与XBL的协作机制

本文深入解析了高通UEFI架构中ABL与XBL的协作机制,重点探讨了Protocol通信在硬件控制中的关键作用。通过对比传统GPIO控制方式,揭示了Protocol架构在安全性、可维护性和灵活性方面的优势,并提供了关机充电场景的实战案例分析及调试技巧。

weixin_29185199的博客 431

搞定8GB/s数据流:一个FPGA工程师的XDMA驱动调优实战(附避坑清单)

本文详细记录了FPGA工程师在XDMA驱动调优过程中实现8GB/s高带宽数据流的实战经验。通过优化DDR访问、中断响应、DMA映射等关键环节,解决了PCIE数据采集卡在高带宽场景下的性能瓶颈,并提供了实用的避坑清单和技术方案。

weixin_29194255的博客 203

C++ 选择目录、文件操作基础、指定文件后缀的获取(CFileDialog、SHBrowseForFolder)

1、选择目录SHBrowseForFolder使用方法介绍 bool SelectFilePath( TString& strFilePath ) { TCHAR szPathName[MAX_PATH] = {0}; BROWSEINFO bInfo = {0}; TString strDefaultPath = _T("E:\\"); // 注意路径中不...

小沈的专栏 2141

Springboot + vue 实现导出word

Springboot + vue 实现导出word 后端代码 使用word先创建好已知的模板 使用word工具另存为.xml格式的文件 使用freemarker ftl模板 将修改后的xml文件复制到开发工具中,将文件后缀修改为ftl文件,并且将里面的动态值使用${}包裹例如:${zyjn} word工具类 /*** * * Project Name:maventest * <p>生成word工具类<br> * * @ClassName: WordUtil *

qq_45542373的博客 2895

linux用C++获取指定目录下所有文件

#include <dirent.h> #include <sys/stat.h> #include <sys/types.h> bool get_all_files(const std::string& dir_in, std::vector<std::string>& files) { if (dir_in.empty(...

veghlreywg的博客 4259

通用、可复用的 AI Skill 开发基本流程

-----name:唯一标识符(建议用领域-功能格式):自然语言描述触发条件(AI 依赖此判断是否激活)tags(可选):便于分类和搜索version:支持后续迭代步骤输出物1. 定范围触发场景描述2. 写元数据name3. 填内容结构化 Markdown 文件4. 做验证可运行 + 符合规范5. 去集成放入对应 IDE 目录6. 持续维护跟进框架更新通过这套流程,你不仅可以开发(Hooks 最佳实践)(原生 WebGL 优化)(Pandas/Numpy 高效写法)

lpfasd123的博客 727

c#仿热血江湖

Int32_1 = (int) table.Rows[i]["FLD_初级附魂"],Int32_2 = (int) table.Rows[i]["FLD_中级附魂"],Int32_3 = (int) table.Rows[i]["FLD_是否绑定"],Int32_0 = (int) table.Rows[i]["FLD_进化"],Form1.smethod_1(2, "加载百宝阁物品----没有百宝阁数据");Form1.smethod_1(2, "加载物品商店----没有物品数据");

weixin_42132177的博客 142

C++ 获取当前目录下的指定后缀文件

获取当前目录下的指定后缀文件

bigger_belief的博客 1031

48-OpenCVSharp —-Cv2.MatchTemplate() 函数功能(模板匹配)详解

是 OpenCV 中一个常见且简单的模板匹配算法,适用于目标检测和图像识别中的静态场景。它的优点是易于理解和实现,但在面对旋转、尺度变化、复杂背景或光照变化等挑战时,效果可能大打折扣。在这些情况下,结合多尺度图像、特征匹配算法(如 SIFT、SURF、ORB 等)以及深度学习模型可以显著提高匹配的鲁棒性和精度。模板匹配仍然是一个非常基础但强大的工具,适用于一些简单的图像匹配任务。对于更加复杂和动态的图像识别任务,我们通常会使用其他更加复杂的算法或者深度学习模型来处理。

weixin_45590420的博客 4523

C++ 获取目录下具有指定后缀名的所有文件名_windows

windows中,用C++遍历文件夹下的所有文件,得到包含绝对路径的文件列表。 #include <io.h> #include <Windows.h> #include <stdio.h> #include <string> #include <iostream> #include <direct.h> ...

C/C++、嵌入式开发、深度学习算法、模型部署与推理优化 2122

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

C++如何获取指定目录下的指定类型文件路径

C++如何获取指定目录下的所有视频文件路径?(递归添加子目录下的视频文件) void get_file_list_format(string main_path, vector<string> &file_list, string format) { intptr_t handle;//句柄 _finddata_t file_info;//文件信息 string sear...

flying_ant2018的博客 1107

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

C++获取指定目录文件列表

#include&lt;iostream&gt; #include &lt;string&gt; #include &lt;vector&gt; #include &lt;fstream&gt; #include &lt;io.h&gt; #include &lt;direct.h&gt; /****************************************************...

刘千予 2215

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

C++获取指定目录的所有文件(包括子目录)

// FileList.cpp : 获取指定目录的所有文件(包括子目录) #include “stdafx.h” #include #include #include<io.h> #include #include using namespace std; //1.读取某给定路径下所有文件夹与文件名称,并带完整路径。 void getAllFiles(string path, vector& files) { long hFile = 0; struct _finddata_t file

yy_dengpeiyou的博客 1975

window下获取指定目录下面的所有文件名 c/c++

#include #include #include using namespace std;void main(int argc, char **argv){ _finddata_t file; long longf; //_findfirst返回的是long型; long __cdecl _findfirst(const char *, struct _

Gengoo的专栏 5251

linux c++获取指定目录下所有特定后缀名的文件名

#include <iostream> #include <string> #include <vector> #include <string.h> #include <dirent.h> using namespace std; int getFiles(const string path, vector<string>...

Betterc5的博客 4650

C++ 获取目录下具有指定后缀名的所有文件名_linux

/************************************************************ * Description: * 获取dir目录下具有制定后缀名字的所有文件名, * parameter: * src_dir:目录路径,例如 "../test" * ext:后缀名,例如".jpg" * return; ...

C/C++、嵌入式开发、深度学习算法、模型部署与推理优化 2081
上一篇: DOS 脚本关闭指定进程
下一篇: ADO 在C/C++中的基本使用
路边的猫
博客等级 码龄9年 132粉丝 28原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值