搜索目录,在 C++ 中查找最后输入的文件名

Searching a directory, finding the last entered file name in C++

我正在使用 C++ 中的 Cfilefind 库,以获取目录中最后输入的文件的名称。换句话说,在现有文件之后进入目录的文件。

   CFileFind finder;
   BOOL bWorking = finder.FindFile("*.png");
   while (bWorking)
   {
      bWorking = finder.FindNextFile();
      cout << (LPCTSTR) finder.GetFileName() << endl;
   } 

此代码无需下载不同的库即可运行。它为您提供了当时存在的所有文件名。但是,它没有按照我想要的顺序给他们,因为我希望根据进入目录的时间对它们进行排序。我应该使用那个 class 中的什么方法以及如何使用?

这是图书馆,我提到过:

https://msdn.microsoft.com/en-US/library/ww9sye6t(v=vs.80).aspx

我也用这个方法来获取 int pro value 的值,但是它可能按字母顺序给出条目而不是最后一个条目值:

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

我写的另一种有用的启发式方法是获取该文件夹中现有文件的数量,我通过这种方式查看了变化,但它根本没有解决我的问题。有条件的也可以提出算法,

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