枚举我的电脑内所有的文件夹 将我的电脑上的硬盘以及每个硬盘的文件夹,还有文件夹包含的子文件夹,一直向内嵌套,直到它没有子文件夹。将它们给枚举出来。我自己写了一些,可以将我电脑上的硬盘给枚举出来,要将每个硬盘的文件夹给枚举出来,应该是可以递归的,我不知如何进行下去,请各位指教。共同探讨一下。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我自己写的一个,可以列举给定目录下所有文件名字void ListFolder(CString sPath){ CFileFind ff; BOOL bFound = ff.FindFile(sPath + "\\*.*"); while(bFound){ bFound = ff.FindNextFile(); CString sFilePath = ff.GetFilePath(); if(ff.IsDirectory()){ if(!ff.IsDots()) ListFolder(sFilePath); } else ListFile(sFilePath);//这里记录的就是所有的文件 } ff.Close(); } 不是要用SHGetDesktopFolder SHGetSpecialFolderLocation EnumObjects 等这些Shell 函数吗,不然你怎么知道有几个硬盘呢 你不是说已经知道有几个盘了吗?ListFolder("c:\\");ListFolder("d:\\");.... GetLogicalDriveStrings()可以得到有几个磁盘,然后用用FindFirstFile、FindNextFile 关于ReadFile和WriteFile socket如何实现多用户连接! 启动其他程序(很急) 请问如何申请数字签名证书? 怎么实时得到一个dos程序运行输出的文本信息? 小问题-怎样在多文档窗口中启动时自窗口充满整个框架,且不可改变子窗口的大小 DBGRID怎么获得选中行的和选中行中的数据? 请问如何动态改变按钮的caption 关于打印机的问题。请教各位高手。 想编个oicq的聊天机器人! 请教:如何实现小键盘的功能? 求助!程序Debug版本运行无错,但进行Release版本执行时就有错.不知道为什么?
void ListFolder(CString sPath){
CFileFind ff; BOOL bFound = ff.FindFile(sPath + "\\*.*");
while(bFound){ bFound = ff.FindNextFile();
CString sFilePath = ff.GetFilePath();
if(ff.IsDirectory()){
if(!ff.IsDots())
ListFolder(sFilePath);
} else ListFile(sFilePath);//这里记录的就是所有的文件
}
ff.Close();
}
ListFolder("c:\\");
ListFolder("d:\\");
....