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