我需要枚舉文件夾中的所有文件,然後導航到子文件夾並執行相同的操作(遞歸?肯定)。如何枚舉vfs c或C++目錄中的所有文件?
理想的算法應該以同樣的方式運行在Linux上&的MacOS
免責聲明:我已要求對POSIX一個類似的問題:我現在知道VFS的,但我疑惑地使用VFS的枚舉目錄。任何建議?我應該打開一個目錄作爲文件?唯一的方法是使用類似qt的圖書館跨平臺嗎?
更新:所以沒有VFS方式來工作目錄? 「* V * irtual * F * ile * S * ystem提供了一個訪問各種不同文件系統的API」但是沒有辦法枚舉目錄。
「readdir」等解決方案將在任何類型的* NIX上做的伎倆?而在Windows上,沒有比巨大的MingW lib更好的了嗎?或部分實施僅在以下某些勝利工作: https://github.com/xbmc/xbmc/blob/master/tools/TexturePacker/Win32/dirent.c
BOOST似乎是一個非常酷的解決方案,但它是複雜的和學術的。在任何情況下
最後更新 thnks:
我已經發現了一些更doc和現在一切都很多更加清晰。 這個問題是重複的! opendir()和readdir()是在Linux上枚舉和瀏覽目錄的解決方案。正如我的例子所示,很容易將它們映射到窗口上(但是無意義的windowz fs使一切都變得陌生)並且ntfw()更加有用。
VFS(虛擬文件切換)是一種內核功能,通過爲文件系統操作創建抽象層來解決此問題。這裏關閉的文檔:linux programming interface
thnks!
因爲C++可能有更好的選擇,所以不是真正的騙局。 – 2013-02-13 17:04:21
你在尋找C++還是C?選擇一個,或者在你的問題中解釋爲什麼你需要兩個。 – 2013-02-13 17:37:20
我在一個C簡單和容易的解決方案,我會包裝在一個CPP容器。爲了更好地解決問題,我創建了一個快速的github項目,並在一個c文件中使用簡單的windows測試:https://github.com/maborg/scandir隨時發佈修改。只是爲了好玩的課程(相關的c文件在這裏:https://github.com/maborg/scandir/blob/master/scandir/readdir。c) – maborg 2013-02-15 15:01:01