MFC如何遍历一个文件夹下的所有文件夹(不是文件,是文件夹)

MFC如何遍历一个文件夹下的所有文件夹(不是文件,是文件夹),第1张

用下面的

程序段

可以实现你要求的功能

CFileFind

ff

CString

strDir=

"d:\\Program

Files\\*.*"

BOOL

res

=

ff.FindFile(strDir)

while(res)

{

res

=

ff.

FindNextFile

if(ff.IsDirectory()

&&

(!ff.IsDots()))()//遍历子目录,剔除".0”和".."两个

{

CString

strFile

=

ff.

GetFileName

()

//

在这里写需要的代码

}

}

ff.Close()

//

不要忘记关闭

若满意请及时采纳,谢谢

FindNextFile是按照文件系统中文件的排列顺序进行遍历的。

这个顺序有点类似于文件创建的顺序(不保证顺序一样)。

遍历方式无法修改,这是最优的方式了。

如果想控制输出顺序,可以自己对检索结果再次排序。

RefreshDataTemp(strPath)} //递归调用

这里你也写了,是递归调用,那么也就是子目录的统计,是在另一个(同名)函数调用中完成的,而size和Size都是局部变量,不会传递到上一层函数调用。

解决方法:Size 作为返值或全局变量,tr的三行语句放在这个函数之外,不参与递归。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11480164.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存