我想使用Windows API中提供的FindFirstFile方法讀取給定文件夾內的所有文件(文件夾路徑)。目前,我只能成功讀取給定文件夾內的文件。我無法讀取子文件夾內的文件。任何人都可以幫助我做到這一點?使用C++讀取文件夾內的所有文件(包括子文件夾中的文件)
0
A
回答
3
當您撥打FindFirstFile
/FindNextFile
時,它返回的一些「文件」實際上是目錄。 您可以通過查看返回給您的WIN32_FIND_DATA
結構的dwFileAttributes
字段來檢查某個目錄是否爲目錄。
如果您發現某個目錄是一個目錄,那麼您可以簡單地調用您的文件查找函數以便進入子文件夾。
注意:請務必把在爲.
和..
僞目錄中一個特殊的情況,否則你的函數將遞歸到本身,你會得到一個堆棧溢出
這裏的文件,如果你還沒有已經發現:
possible values for dwFileAttributes(記住,這些都是位標誌,因此您必須使用&進行檢查)
0
請使用CFileFind
從MSDN查看此example。
2
或者,您可以使用boost::filesystem這不僅會給你一個乾淨的API,而且還會使你的代碼在所有支持的平臺上都可移植。
0
我已經使用此代碼讀取指定目錄中的文件。
CFileFind finder;
BOOL bWorking = finder.FindFile(directory);
while(bWorking)
{
bWorking = finder.FindNextFile();
}//end while
相關問題
- 1. 如何讀取文件夾中的所有txt文件? (包括子文件夾)
- 2. 刪除文件夾和所有子文件夾(包括文件夾)中的所有文件
- 3. C - 列出文件夾和所有子文件夾中包含的文件
- 4. 如何使用PowerShell獲取文件夾內所有文件夾名稱的.txt文件,而不是子文件夾內的文件/子文件夾?
- 5. FileProvider包括所有子文件夾
- 6. 如何授予使用c#的文件夾和子文件夾中的所有文件的讀取權限?
- 7. 如何使用Python複製包括子文件夾在內的所有文件
- 8. 從文件夾內的文件夾讀取文件
- 9. Android.mk文件 - 包括不同文件夾和子文件夾中的所有源文件
- 10. 使用Spring MVC上傳包含子文件夾的所有文件夾內容
- 11. PHP - 閱讀文件夾,所有子文件夾和子文件夾中的文件
- 12. C#的文件夾和子文件夾
- 13. 查看.m文件中的一個文件夾(包括子文件夾)在MATLAB
- 14. 使該文件夾中的文件夾和子文件夾
- 15. 使用C#獲取文件夾中的所有文件名
- 16. 快速枚舉包括子文件夾在內的所有文件的方法
- 17. 使子文件夾成爲子文件夾中的所有內容的根文件夾
- 18. 如何監視包含所有子文件夾和子文件夾內的文件夾
- 19. 如何掃描文件夾中的所有文件,包括VC++ 2008中的子文件夾?
- 20. 如何刪除文件夾及其子文件夾內的所有空文件?
- 21. 複製包含文件夾的所有文件。子文件夾到一個新的文件夾Win 10
- 22. VB.Net - 如何更改文件夾包括子文件夾和文件的屬性
- 23. 讀取文件夾中的文件
- 24. 迭代iphone中的文件夾的所有子文件夾
- 25. DeploymentItem-Attribut文件夾中的所有文件和文件夾
- 26. powershell複製文件夾中的所有文件夾和文件
- 27. 讀取目錄中子文件夾中的文件c#streamreader
- 28. 包括一個文件夾下的所有文件
- 29. 定位文件夾及其所有子文件夾/子文件夾
- 30. 如何讀取CakePHP中webroot子文件夾內的文件?
Thanks dude .. It works。It works。 :d – ganuke 2010-05-27 12:26:01