win32 – 按文件的创建日期排序

因项目中使用文件的创建日期来命名文件,所以不用额外查找文件的创建日期再进行排序,记录一下

bool AscendingSortByCreationTime(const std::wstring& file_a,
                                 const std::wstring& file_b) {
  int n_time_less = CompareFileTime(&FtCreatetionTime(file_a),
                                    &FtCreatetionTime(file_b));
  if (n_time_less < 0)
    return true;
  else
    return false;
}

FILETIME FtCreatetionTime(const std::wstring& file) {
  WIN32_FIND_DATA wfd;
  FILETIME time_create = {};
  HANDLE hFind = FindFirstFile(file.c_str(), &wfd);
  if (hFind == INVALID_HANDLE_VALUE) {
    std::cout << "the handle of file is invalid";
    return time_create;
  }
  time_create = wfd.ftCreationTime;

  FindClose(hFind);
  return time_create;
}
...

// 调用地方,files 是 std::vector<std::wstring> 定义,里面是需要排序的文件路径
std::sort(files.begin(), files.end(), AscendingSortByCreationTime);

 

原文链接: https://www.cnblogs.com/strive-sun/p/15895850.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍;

也有高质量的技术群,里面有嵌入式、搜广推等BAT大佬

    win32 - 按文件的创建日期排序

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/404576

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年4月25日 下午4:37
下一篇 2023年4月25日 下午4:38

相关推荐