MFC对文件按文件名进行排序
来源:互联网 发布:知乎推荐书单排行榜 编辑:程序博客网 时间:2024/06/10 17:53
用CFileFind类遍历一个文件夹下的文件,发现它并不是按照windows标准的按文件名排序方式排序的,比如说1.txt,2.txt,3.txt,4.txt,5.txt,...80.txt,81.txt,...100.txt,101.txt.....在windows下应该是这样的顺序,但是让CFileFind类遍历后却成了1.txt。10.txt,100.txt,2.txt
#include <algorithm> #include <vector>
CFileFind finder;std::vector<CString> fileList; // 加入文件到fileList中BOOL bHaveFiles = finder.FindFile("*.*");while (bHaveFiles){ bHaveFiles = finder.FindNextFile(); fileList.push_back(finder.GetFileName());} // 写一个全局的谓词函数// 升序排列bool SortbyNumASC(const CString& x, const CString& y){ int nLeft, nRight; nLeft = atoi(x.Left(x.ReverseFind('.')).GetBuffer(0)); nRight = atoi(y.Left(y.ReverseFind('.')).GetBuffer(0)); return nLeft<nRight;} // 降序排列bool SortbyNumDESC(const CString& x, const CString& y){ int nLeft, nRight; nLeft = atoi(x.Left(x.ReverseFind('.')).GetBuffer(0)); nRight = atoi(y.Left(y.ReverseFind('.')).GetBuffer(0)); return nLeft>nRight;} // 排序/// 由大到小排sort(fileList.begin(), fileList.end(), SortbyNumDESC); /// 由小到大排sort(fileList.begin(), fileList.end(), SortbyNumASC);原文地址:http://bbs.csdn.net/topics/220078959
0 0
- MFC对文件按文件名进行排序
- 使用Python对文件名进行排序
- 使用Python对文件名进行排序
- 文件按文件名、修改时间、文件大小进行排序
- 对文件进行添加、删除、更改文件名
- MFC---利用标题对列表进行排序
- C#中对文件名进行排序(两天的学习成果)
- 对文件名进行修改
- pyton练习,对两个文件夹子下文件名进行比较
- JAVA里怎样对指定目录的文件按文件名排序
- JAVA里怎样对指定目录的文件按文件名排序
- 对文件内容按字符单位进行排序(linux c)
- 对bat文件进行排序……
- matlab对文件目录进行自然排序
- Linux中ls对文件进行按大小排序和按时间排序
- Linux中ls对文件进行按大小排序和按时间排序
- MFC读取文件夹中的文件,并且进行排序
- Linux下用python对文件内容按列进行排序-功能等同于Linux下的sort命令对文件内容进行排序
- ArcGIS教程:打印和导出时态地图
- 泛型约束及lambda表达式,表达式树
- Swift --- 2.13继承
- 第107天
- android js 和java互相调用
- MFC对文件按文件名进行排序
- Eclipse 快捷键大全
- 斑马为何这“斑”模样?
- Eclipse设置Tab键为空格!
- gcc 生成动态库 和静态库 文件
- 二进制(原码、反码、补码)
- c/c++2:数据结构
- validationGroup和Page_ClientValidate()配合使用解决前端click事件返回为false时验证失效问题
- windows 删除多层目录