原因是做的是个自动备份的小程序,给定一个目录(例如C:\test)需要把里面全部的文件名带路径给取到。
本人现在找到的方法是取到指定目录下的文件名
但是像图中一样图和文本是文件夹,需要本人去写个循环加判断是不是文件夹,然后再继续查找取值,当本人这个目录下文件量庞大的时候似乎不是很好处理。
询问下有没有好的方法例如有什么函数能够找到特定目录下加上子文件夹中的文件(需要带路径)MFC可用
本人现在找到的方法是取到指定目录下的文件名
但是像图中一样图和文本是文件夹,需要本人去写个循环加判断是不是文件夹,然后再继续查找取值,当本人这个目录下文件量庞大的时候似乎不是很好处理。
询问下有没有好的方法例如有什么函数能够找到特定目录下加上子文件夹中的文件(需要带路径)MFC可用
解决方案
5
使用windows提供的api,去网上搜findfirst
20
10
system(“dir /b /a-d c:\*.* >d:\allfiles.txt”);
//读文件d:\allfiles.txt的内容即C:\下全部文件的名字
system(“dir /b /a-d /s c:\*.* >d:\allfilesinsub.txt”);
//读文件d:\allfilesinsub.txt的内容即C:\下全部文件的名字包含子目录
system(“dir /b /ad c:\*.* >d:\alldirs.txt”);
//读文件d:\alldirs.txt的内容即C:\下全部子目录的名字
请记住,能用shell命令获取文件、文件夹信息或操作文件、文件夹最好用shell命令获取或操作,而不要用各种API获取或操作,原因是当遇到非法文件夹名或非法文件名或非法文件长度、非法文件日期、压缩文件、链接文件、稀疏文件……等各种意料之外的情况时,API会处理的不全面或陷入死循环,而shell命令不会。
//读文件d:\allfiles.txt的内容即C:\下全部文件的名字
system(“dir /b /a-d /s c:\*.* >d:\allfilesinsub.txt”);
//读文件d:\allfilesinsub.txt的内容即C:\下全部文件的名字包含子目录
system(“dir /b /ad c:\*.* >d:\alldirs.txt”);
//读文件d:\alldirs.txt的内容即C:\下全部子目录的名字
请记住,能用shell命令获取文件、文件夹信息或操作文件、文件夹最好用shell命令获取或操作,而不要用各种API获取或操作,原因是当遇到非法文件夹名或非法文件名或非法文件长度、非法文件日期、压缩文件、链接文件、稀疏文件……等各种意料之外的情况时,API会处理的不全面或陷入死循环,而shell命令不会。