如果我想要獲取JPEG文件列表,我會將* .jpg傳遞給該函數(在參數末尾),並且FindFileNext()將逐個返回.jpg文件。如果我想讓該功能返回jpg和mp3文件,該怎麼辦?是否有可能通過一次函數調用而不使兩個字符串傳遞給函數?如何從FindFirstFile()獲取多個文件類型有可能嗎?
回答
在MSDN文檔: http://msdn.microsoft.com/en-us/library/windows/desktop/aa364418(v=vs.85).aspx
你可以閱讀:
lpFileName [in] The directory or path, and the file name, which can include wildcard characters, for example, an asterisk (*) or a question mark (?).
所以,最多可以使用通配符,這是不夠的,以配合兩個不同的擴展。
您可能需要執行兩次搜索,第一次使用jpg,第二次使用mp3。如果您擔心效率問題,最好分析每種方法。
您可以將*.*
掩碼傳遞給函數,並在您接收到下一個文件時執行其他檢查。
不,我不想獲取所有文件,然後檢查它們。這是浪費時間和慢跑。 – user2808671
我不確定是否可以將多個文件掩碼作爲一個參數傳遞。從另一方面來說,我很確定FindFirstFile()/ FindNextFile()函數在內部做類似的檢查。所以跑步實際上不會變慢。 – vershov
是的,我在想它。謝謝你 – user2808671
你接受的答案意味着只有兩種可能:要麼尋找兩個完全不同的時代,一次*.jpg
,一次用於*.mp3
,或者用於*.*
搜索一次(並找出你自己的文件是否符合你關心什麼約或不)。
至少在這種特殊情況下,有一點中間地帶。您可以搜索*.?p?
,因爲您關心的兩個擴展的第二個字母是p
。有了這個,你仍然需要自己做一些比較來找出給定的文件是否真的有你關心的兩個擴展之一。因此,它不會簡化你的代碼。
與此同時,它可以加快搜索相當多。撥打FindNextFile
有一個相當大的開銷,所以如果你正在看的目錄有很多不是匹配?p?
擴展名的文件,避免檢索它們都只是爲了忽略它們可以節省相當多的時間。
當然,這個是特定於至少有一個匹配字母的情況,所以它不是一個完全一般的技術。
好的提示。非常感謝你 :) – user2808671
- 1. FindFirstFile多種文件類型
- 2. 如何從Flash上傳文件時獲取內容類型 - 有可能嗎?
- 3. C++可變多類型有可能嗎?
- 4. 多個文件,可能嗎?
- 5. FindFirstFile類型問題
- 6. SED提取多個可能從文件
- 7. 如何在StructureMap中獲取所有可能的泛型類型?
- 8. C++ - 提取所有文件名 - 用FindFirstFile
- 9. FindFirstFile,FindNextFile API不可靠嗎?
- 10. Windows:如何從可能不存在的DLL中獲取類型?
- 11. 如何從PropertyChanged事件獲取類型?
- 12. 從CloudKit獲取多個記錄類型
- 13. 有多個鍵類型的關聯數組,可能嗎?
- 14. 如何獲取文件類型名稱?
- 15. ACTION_GET_CONTENT:如何在搜索多個文件類型時獲取文件結尾?
- 16. 獲取返回泛型類的可能類嗎?
- 17. 是否有可能從字符串中獲取Swift類型?
- 18. 這可能僅從HTML文件中提取所有文本嗎?
- 19. 無法從.winmd文件獲取類型
- 20. 如何從圖像數據類型列中獲取多個值?
- 21. 如何從索引搜索(有多種類型)中獲取每種類型的前1個文檔?
- 22. EJB3:orm.xml:有可能擁有多個orm.xml文件嗎?
- 23. 如何從一個類型對象獲取可空類型對象
- 24. cURL + PHP獲取類名稱,可能嗎?
- 25. 如何從類型獲取類
- 26. Dart:如何從類中獲取「類型」
- 27. 如何從protoc.exe獲取類文件
- 28. 一個java文件可以有多個類嗎?
- 29. pandas dataframe列可能有datetime.date類型嗎?
- 30. 可以有多個pretty-faces.xml文件嗎?
正如我所預料的,顯然這是不可能的。謝謝 – user2808671