默认排列 是按文件名构成的 字符串 从小到大排列。
当然,你也可以,查文件大小,建立日期衫吵,按自己要求排序。
其实,调用DOS DIR 命令也很方便。
system("DIR *.* /od /b >a.lis") 按日期排列,存于 a.lis
system("DIR *.* /os /b >a.lis") 按文件大或培侍小排列,存于 a.lis
这个例启裂子没问题,其实这个例链敏子出自MSDN中CFindFile的使用控制台程序如下:
#define _AFXDLL
#include<afx.h>
#include<iostream>悄唤闭
using namespace std
int main()
{
CFileFind finder
BOOL bWorking = finder.FindFile(_T("*.*"))
while (bWorking)
{
bWorking = finder.FindNextFile()
wcout<<(LPCTSTR)finder.GetFileName()<<endl
}
system("pause")
return 0
}
finder1.GetFileName()只能返回你找到的一个文件的名字,通过和FindNextFile()配合,可以得到所有文件的名字让搭州。例如:
CFileFind finder坦蔽 BOOL bWorking = finder.FindFile("*.*")
while (bWorking)
{
bWorking = finder.FindNextFile()
cout << (LPCTSTR) finder.GetFileName() << endl
}
你的代码,通过GetFileName()只能返回找到的一个文件名。这个文件名,绝对不可能包含通配符*。
所以,你的办法应该是比较文件名是否是 .opt结尾。
if (finder1.GetFileName().Right(4).MakeLower() == ".opt")
另外注枝昌意,你If中判断的是 “文件名”,删除的是“文件路径”。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)