如何实现按文件名排序的方式来遍历一个目录??
部分代码如下:
find(char * lpPath)//lpPath为选定的目录的路径
{
char szFind[MAX_PATH];
WIN32_FIND_DATA FindFileData;
strcpy(szFind,lpPath);
strcat(szFind,"\\*.txt");
HANDLE hFind=::FindFirstFile(szFind,&FindFileData);
if(INVALID_HANDLE_VALUE == hFind) return;
while(TRUE)
{
if(FindFileData.cFileName[0]!='.')
{
strcpy(szFile,lpPath);
strcat(szFile,"\\");
strcat(szFile,FindFileData.cFileName);
myList.addTail(szFile);//myList为一个对列CList 用来保存遍历的文件名
}
if(!FindNextFile(hFind,&FindFileData)) break;
}
FindClose(hFind);
}
文件名都可以从目录里面读出来,但是遇到了如下问题
文件夹里面如有文件 1.txt 2.txt 3.txt ........ 100.txt 101.txt 102.txt ..200.txt
但是在myList得到的顺序是
1.txt 10.txt 100.txt
101.txt 102.txt ... 109.txt
11.txt 110.txt 111.txt .. 119.txt
....
我想在myList里面得到1.txt 2.txt 3.txt ........ 100.txt 101.txt 102.txt ..200.txt这个顺序
自我觉得可能有三种解决方法:
1.能不能通过在上面的代码里面加入什么语句(可能为库函数 我不知道)可以实现这个要求
2.直接对myList排序 不知道列表CList类有没有这样的方法
3.手工书写排序代码
上面的解决方法不知道有没有人知道其中的一种
望能告之解决方法
谢了!
相关推荐
遍历目录,修改文件名称
遍历指定目录 修改文件名称使其按文件创建时间排序。
Mysql 已存在则更新,不存在就插入 【ON DUPLICATE KEY UPDATE】
ON DUPLICATE KEY UPDATE作用 先声明一点,ON DUPLICATE KEY UPDATE为Mysql特有语法,这是个坑 语句的作用,当insert已经存在的记录时,执行Update 用法 什么意思?举个例子: user_admin_t表中有一条数据如下 表中的主键为id,现要插入一条数据,id为‘1’,password为‘第一次插入的密码’,正常写法为: IN...
PHP 远程文件管理,可以给表格排序,遍历目录,时间排序
PHP 远程文件管理,可以给表格排序,遍历目录,时间排序 点击表格第一行,头部就可以排序了,这个列子是当前目录的
Python3.遍历某文件夹提取特定文件名的实例
下面小编就为大家分享一篇Python3.遍历某文件夹提取特定文件名的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
python按时间排序目录下的文件实现方法
废话不多说,直接上代码: python文件夹遍历,文件操作,获取文件修改创建时间可以去网上参考其他文章。 如: os.path.getmtime() 函数是获取文件最后修改时间 os.path.getctime() 函数是获取文件最后创建时间 def get_file_list(file_path): dir_list = os.listdir(file_path) if not dir_list: return else: # 注意,这里使用lambda表达式,将文件按照最后修改时间顺序升序排列 # os.path.getmtime() 函数是获取文件最


