我在C ++中使用Cfilefind库,以获取最后输入文件的名称到目录。换句话说,在现有文件之后进入目录的文件。
CFileFind finder;
BOOL bWorking = finder.FindFile("*.png");
while (bWorking)
{
bWorking = finder.FindNextFile();
cout << (LPCTSTR) finder.GetFileName() << endl;
}
此代码无需下载不同的库即可运行。它为您提供当时存在的所有文件名。然而它并没有给我们想要的顺序,因为我希望它们可以根据它进入目录的时间进行排序。我应该使用该课程中的哪种方法以及如何使用?
这是图书馆,我提到过:
https://msdn.microsoft.com/en-US/library/ww9sye6t(v=vs.80).aspx
我也使用此方法获取int pro值的值,但是它可能按字母顺序给出条目而不是最后一个条目值:
string processName(int pro)
{
int count=0;
string name;
CFileFind finder;
BOOL bWorking = finder.FindFile("*.png");
while (bWorking)
{
bWorking = finder.FindNextFile();
count = count + 1;
if (count == pro){
name = (LPCTSTR) finder.GetFileName();
bWorking=false;
}
}
return name;
}
我写的另一个有用的启发式方法是获取该文件夹中存在的文件数量,我通过这种方式查看更改,但它根本没有解决我的问题。如果可能,您也可以提出算法,
答案 0 :(得分:0)
使用您提供的链接中记录的CfileFind::GetCreationTime()
来获取每个文件的创建时间,并按创建时间对文件进行排序。