0
我需要根據日期順序檢索文件名。目前我正在使用FindFirstFiles函數來檢索文件。我按照字母順序(升序)獲取文件名,但是我想在文件數據的基礎上接收它。我們怎麼能做到這一點?如何使用FindFirstFiles獲取數據順序中的文件
我需要根據日期順序檢索文件名。目前我正在使用FindFirstFiles函數來檢索文件。我按照字母順序(升序)獲取文件名,但是我想在文件數據的基礎上接收它。我們怎麼能做到這一點?如何使用FindFirstFiles獲取數據順序中的文件
FindFirstFile不以任何特定的順序檢索文件:
的功能用FindFirstFile打開一個搜索句柄並返回有關文件系統找到的第一個文件的信息[...]。當給定相同的文件名字符串模式時,這可能是也可能不是在目錄列表應用程序中出現的第一個文件或目錄(例如dir命令)。 這是因爲FindFirstFile不對搜索結果進行排序。
這是更明確地記載爲FindNextFile:
在搜索返回的文件,如按字母順序排列的順序,不能保證,而且是依賴於文件系統上。如果必須對數據進行排序,則應用程序必須在獲得所有結果後執行排序。
因此,如果您需要排序列表,則需要在完成時對結果進行排序。 WIN32_FIND_DATA結構包含時間戳。一旦獲得結果,記錄它們並在相應的時間戳上執行std::sort。
std::sort
不同的比較功能。
你是什麼意思與「文件數據的基礎 FindFirstFiles不以任何排序的順序返回文件: _ ..這可能是也可能不是出現在目錄中上市的第一個文件或目錄應用程序(如dir命令)給定相同的文件名字符串模式時,這是因爲FindFirstFile沒有對搜索結果進行排序.._ – mligor
檢索文件,然後按照您的要求排序。 –