程序段
可以实现你要求的功能
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的三行语句放在这个函数之外,不参与递归。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)