CFileFind 遍历目录与子目录

MFC递归遍历目录下所有子目录和文件 <br />      在MFC下要实现文件夹的递归遍历,可用CFileFind类,依次读取文件夹下的子文件夹和文件,并判断通过判断是文件夹还是文件来决定递归遍历(事实上,CFileFind本身还可以判断文件具体属于哪种类型,例如压缩文件、系统文件等)。另外要注意,遍历过程中会读到"."文件和".."文件,可通过fileFinder.IsDots()函数识别。<br /> <br /> <br />相关代码:<br />//Bayes测试函数(递归)<br />void CTestPage::BayesCa 阅读详情

/*作者:sysprogram

   编写日期:2011年4月2日

   博客:http://hi.youkuaiyun.com/SysProgram

*/

 

void MyFindFile(CString strPath)
{
 CFileFind hFileFind;
 strPath+="//*.*";
 BOOL bWorking = hFileFind.FindFile(strPath,0);

 while(bWorking)
 {
  bWorking = hFileFind.FindNextFile( );
  if (hFileFind.IsDots())
  {
   continue;
  }
  if (hFileFind.IsDirectory())
  {
   MyFindFile(hFileFind.GetFilePath());
  }
  OutputDebugString(hFileFind.GetFilePath());
 }
 hFileFind.Close();
}

 

void CTestCFileDlg::OnBUTTONFind()
{
 // TODO: Add your control notification handler code here
 MyFindFile("D://test");
}

 

(MFC)遍历文件夹下的文件(包括子文件夹) 主要解决:文件夹下有好多个子文件夹,并且这些子文件夹只有很少的文件,防止操作上的麻烦,我写了这个简单的程序,可以列出你设定的根目录下的所有的文件(没有文件夹的名字),双击即可打开。 立即下载

相关推荐

用CFileFind类遍历目录,查找目录内文件

目录树遍历顾名思义就是把目录树中所有的目录及文件依次查找一遍,WINDOWS里的文件查找程序和 SafeClean Utilities(环保卫士)等都用到了目录树遍历。我们当然也可以在自己的程序中加入这一功能。 下面就是该算法的源代码。代码不长,应该很好懂。大家只要在工程中添加一个 Search 类再将代码拷贝 到文件中就可以了。调用时用如下代码: Search find("c:/", "*.exe"); find.Start(); 按 F5 运行后 可以在调试信息窗口看到输出,如有不妥之处还望各位来信指教。

CFileFind类

from:http://jianaipeng1026.blog.163.com/blog/static/200677842008915102250246/ CFileFind类 2008-10-15 10:22分类:MFC常用类 字号: 大大  中中  小小 1、CFileFind类的声明文件保存在afx.h头文件中。2、该类的实现的功能:执行本地文件的查找

zhangmiaoping23的专栏 9894

CFileFind搜索目录下所有文件的类

/** ===================================================== 功能: CFolderContent类搜索一个目录, 列出该目录下的所有目录名称,列出所有子目录下的文件名称等属性。 作者: jef 作者邮箱: dungeonsnd@126.com 发步时间: 20100311 版本: v1.1 版权: 请遵循GNU. 对外接口: int GetAllSub(CString csPath) csPath: 一个目录或者一个完整的文件名 使用举例: void CGetFolderContentView::OnLButtonDown(UINT nFlags, CPoint point) { // TODO: Add your message handler code here and/or call default CString cs,csSaveFileName,csFileSave,csT,csT1; cs ="C:\\Documents and Settings\\All Users\\Documents\\My Music"; char chModule[8192]; memset(chModule,0,8192); GetModuleFileName(NULL,chModule,8192); csT.Format("%s",chModule); csT =csT.Left( csT.ReverseFind(_T('\\')) ); csSaveFileName =csT+_T("\\FolderContent输出文件.txt"); CRect rtClient; GetClientRect(&rtClient); CClientDC dc(this); dc.SetTextColor(RGB(200,80,80)); dc.FillSolidRect(rtClient,RGB(240,240,240)); CFolderContent fc; fc.GetAllSub(cs); int i,len,k; csT ="-------"; csT =cs+"总大小为"; csT1.Format(" %.4fMB,清单文件已保存在 %s",fc.m_dTotalSize/double(1024*1024),csSaveFileName); csT +=csT1; csT +="-------"; dc.TextOut(5,0,csT); csFileSave +=csT+_T("\r\n"); csT ="-------"; csT +="所有子目录如下:"; csT +="-------"; dc.TextOut(5,25,csT); csFileSave +=csT+_T("\r\n"); len =fc.m_Directory.GetSize(); for (i=0;i<len;i++) { csT.Format(" 大小:%.4fMB",fc.m_vecDirectorySize[i]/double(1024*1024)); csT1.Format(" 创建时间:%d年%d月%d日 ", fc.m_vecFileLastCreationTime[i].wYear, fc.m_vecFileLastCreationTime[i].wMonth, fc.m_vecFileLastCreationTime[i].wDay); csT =csT+csT1; csT =fc.m_Directory.GetAt(i)+csT; dc.TextOut(5,(i+2)*20,csT); csFileSave +=csT+_T("\r\n"); } k =i; csT ="-------"; csT +="所有文件如下:"; csT +="-------"; dc.TextOut(5,(k+3)*20,csT); csFileSave +=csT+_T("\r\n"); len =fc.m_PathNameExt.GetSize(); for (i=0;i<len;i++) { csT.Format(" 大小:%.4fMB",fc.m_vecFileSize[i]/double(1024*1024)); csT1.Format(" 修改时间:%d年%d月%d日 ", fc.m_vecFileLastWriteTime[i].wYear, fc.m_vecFile

用CfileFind递归搜索目录(包括子目录)

用CfileFind递归搜索目录   2001-07-04· ·许福··yesky   我们知道CfileFind未提供直接遍历其子目录的功能,而有时候我们却常常要遍历某一目录下的所有文件及其子目录。如我们要删除一个目录,而这个目录下又有子目录,因为Windows不允许删除非空的目录,因此我们必须能够遍历一个目录下的所有子目录,这可以通过简单的

tzmyf234的专栏 1117

python监听海康威视报警服务器

因为我使用海康威视摄像头是自带热成像的所以事件报警会上报两张图片,一张是RGB图像、另一张是热成像图像,因此使用。拿到的就是第一张RGB图像。可以点击测试,会显示。

qq_57018478的博客 1166

Multisim实战:5分钟搞定一阶RC电路仿真(附示波器波形分析技巧)

本文通过Multisim软件,详细演示了如何快速搭建一阶RC电路并进行仿真分析。文章提供了从元件选取、电路连接、虚拟示波器设置到波形观测的完整流程,并重点分享了测量时间常数、区分电路响应类型等核心分析技巧,帮助电子工程初学者和爱好者高效掌握电路仿真与分析方法。

weixin_29175469的博客 183

CFileFind遍历文件

mfc,CFileFind

JamieLe的博客 821

【5G核心网】Packet Forwarding Model 数据包转发模型

CP 通过建立,修改,删除 PFCP 会话上下文,以及通过为每个 PFCP 会话赏析哪问提供 PDR FAR QER URR BAR,来控制 UP 面的数据包处理。 每一个 PDR 都包含 PDI(Packet Detection Information,包探测信息),一个或多个字段,与输入数据包进行匹配,并可能与以下规则相关联,从而提供了适用于与 PDI 匹配的数据包的指令集: - One FAR(包含了处理数据包的相关指令) an Apply Act...

zhonglinzhang 1万+

MFC中CFileFind遍历文件夹下文件

BOOL FindFileAll(const CString &filePath) { CFileFind stFileFind; BOOL bReault = stFileFind.FindFile(filePath); if(FALAE==bResult) return FALSE; while(TRUE==bResult) { bResult = stFileFind. FindNextFile(); .

沉默、凝视的博客 1624

Ai数字人直播系统源码部署

虚拟形象定制,直播内容智能生成,多语言支持,智能互动,声音克隆,24 小时不间断直播,多平台直播,智能数据分析,实时情感识别,视频合成,Ai数字人直播系统源码出售,Ai数字人直播系统源码部署实现 AI 数字人 24 小时不间断直播功能是一个较为复杂的任务,涉及到多个方面,如直播流的推送、内容的持续生成、系统的稳定性保障等。以下为你提供一个简化的实现思路和示例代码,借助 Python 结合 FFmpeg 工具来模拟 24 小时不间断直播。

weixin_ggwwsscc的博客 1257

深入解析Vortex GPGPU cache设计(2),关于cache_bank

本文分析了Vortex处理器的cache_bank模块设计,作为cache系列的第二部分。文章详细阐述了cache_bank的基本结构,包括地址位分配和默认配置参数。重点解析了cache的5种操作及其优先级。文章详细介绍了二级流水线设计,包括TAG/DATARAM的读写操作时序。

weixin_55313207的博客 1170

CFileFind的完整用例

 CFileFind finder; BOOL bFind = finder.FindFile(strFilePath); while (bFind) { bFind = finder.FindNextFile(); VString strSubPath = finder.GetFilePath(); VString strFileName = finder.GetFileName(); if (finder.IsDots() || finder.IsHidden())

clwahaha的专栏 1363

OpenGL ES 3.0 开发(一):绘制一个三角形

该原创文章首发于微信公众号:字节流动 什么是 OpenGLES OpenGLES 全称 OpenGL for Embedded Systems ,是三维图形应用程序接口 OpenGL 的子集,本质上是一个跨编程语言、跨平台的编程接口规范,主要应用于嵌入式设备,如手机、平板等。由科纳斯(Khronos)组织定义和推广,科纳斯是一个图形软硬件行业协会,该协会主要关注图形和多媒体方面的开放标准。 O...

字节流动 8万+

vc++遍历某一个目录下的所有 目录和文件代码

vc++遍历某一个目录下的所有 目录和文件代码  BOOL GetFile(CString Path)...{    CStringList listPaths;    CString  strPath;     CString  strFolder;    CStringList listFiles;    int iFileCount=0;    int PathLen=Path.

1312

U盘插入电脑时发出声音但不显示——编程解决方案

以上是一些常见的编程解决方案,帮助您解决U盘插入电脑时发出声音但不显示的问题。请注意,这些解决方案可能因不同的情况而略有不同,因此请根据您的具体情况进行调整和尝试。当您将U盘插入电脑时,如果您听到了连接声音,但是U盘却没有在文件资源管理器或桌面上显示出来,这可能是由于一些常见问题导致的。U盘的文件系统格式可能与您的计算机不兼容,导致无法正确识别。如果输出显示U盘的文件系统格式与您的计算机不兼容,您可以尝试重新格式化U盘或使用其他兼容的文件系统格式。其中,X是U盘的磁盘编号,Y是您想要分配给U盘的盘符。

ByteEchoX的博客 2464

【DRAM存储器二十六】DDR4介绍-DDR4 SDRAM的主要技术特性之CA Parity、CRC Write date

详述DDR4的CA奇偶检验和写数据CRC校验功能

highman110的博客 1297

[经验总结]清空目录操作的VC++代码

<!--/*<! [CDATA[*/body { color: #000; background-color: #fff; margin: 0px 10%; min-width: 720px; font-family: Verdana, sans-serif; counter-reset: chapter section subsection subsubsection p

ThinkHY的专栏 1486

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

嵌套删除非空目录

VC++只提供了删除一个空目录的函数,而用往往希望删除其下有很多子目录与文件的目录。为了实现这一功能,下面编写了DeleteDirectory 函数,它可以实现这一功能。函数原型:BOOL DeleteDirectory(char *DirName);返回值:成功删除时返回TRUE,否则返回FALSE参数DirName为要删除的目录名,必须为绝对路径名,如“c://temp"。函数定义如下:BOOL DeleteDirectory(char *DirName){CFileFind tempFind;char

harrishaojf的专栏 509

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

MFC: 遍历文件夹

[code="C++"] void RecursiveFindFile(CString strRootPath) { /* 主要是CFileFind类的使用。 重要方法; FindFile() FindNextFile() */ // strRootPath 为目录名; CFileFind finder; CString Fi...

恶灵挽歌的专栏 340

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

CFileFind类实现的目录树遍历

用CFileFind类实现的目录树遍历 作者:崔晓亮 目录树遍历顾名思义就是把目录树中所有的目录及文件依次查找一遍,WINDOWS里的文件查找程序和 SafeClean Utilities(环保卫士)等都用到了目录树遍历。我们当然也可以在自己的程序中加入这一功能。 下面就是该算法的源代码。代码不长,应该很好懂。大家只要在工程中添加一个 Search 类再将代码拷贝 到文件中就可以了。调用时用如下代码: Search find("c:/", "*.exe"); find.Start目录树遍历顾名思义就是把目录

alexander_vc的博客 749

用CfileFind递归搜索目录

我们知道CfileFind未提供直接遍历其子目录的功能,而有时候我们却常常要遍历某一目录下的所有文件及其子目录。如我们要删除一个目录,而这个目录下又有子目录,因为Windows不允许删除非空的目录,因此我们必须能够遍历一个目录下的所有子目录,这可以通过简单的递归实现.   下面让我们从一个简单的例子开始:如何删除某一目录?(假设我们通过DeleteDirectory(LPCTSTR DirN

l460602540的专栏 904

用CFileFind类实现的目录树遍历

用CFileFind类实现的目录树遍历    作者:崔晓亮  目录树遍历顾名思义就是把目录树中所有的目录及文件依次查找一遍,WINDOWS里的文件查找程序和   SafeClean Utilities(环保卫士)等都用到了目录树遍历。我们当然也可以在自己的程序中加入这一功能。   下面就是该算法的源代码。代码不长,应该很好懂。大家只要在工程中添加一个 Search 类再将代码拷贝   到文件中就可

n70joey的专栏 521

MFC文件遍历类CFileFind例程

参考资料:http://blog.youkuaiyun.com/dodream/archive/2007/07/10/1684446.aspx文中对CFileFind类有很详细的介绍,本文主要介绍CFileFind使用的一个具体例程。void CDicomViewerDlg::OnBnClickedButtonFindfile(Cstring root)//实现对文件的遍历{ CFil

flywithmj的专栏 1133

VC++ 遍历目录

遍历文件目录,即把一个目录里的文件名都取出来。本文是CFileFind类的使用实例的笔记。下面的程序是从一个目录出发,把这个目录里的所有成员按着层次输出。 代码如下: void TravelFolder(CString strDir, int nDepth) { CFileFind filefind; ...

weixin_33896069的博客 149

CFileFind类成员函数IsDots, IsDirectory

IsDots判断是否为点-- IsDirectory表明这是一个目录, isDots表明这个是.或者…而这两个东西虽然是目录,但是一个表明这个目录本身,一个代表上层目录(但是根目录下面…也是本身) 此时由CFileFind对象引用IsDirectory表明当前的CFileFind对象是否为目录。 这个要说明一下,用过Dos的话,就应该知道,每个目录下都有缺省的两个目录,名称分别为 '. '和 '…...

qq_36633275的博客 1732
上一篇: CFile读写文件 实现复制文件功能
下一篇: 远程线程DLL注入
sysprogram
博客等级 码龄17年 298粉丝 442原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值