搜索目录,在C ++

时间:2015-04-26 13:21:53

标签: c++ file winapi mfc directory

我在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;
}

我写的另一个有用的启发式方法是获取该文件夹中存在的文件数量,我通过这种方式查看更改,但它根本没有解决我的问题。如果可能,您也可以提出算法,

1 个答案:

答案 0 :(得分:0)

使用您提供的链接中记录的CfileFind::GetCreationTime()来获取每个文件的创建时间,并按创建时间对文件进行排序。