2011-04-30 45 views
3

在C++中,列出Windows上目錄的所有文件的最佳方法是什麼?C++,列出所有文件,Windows上的dirent.h

在Linux或使用gcc的Windows上(例如MingW),dirent.h很容易實現,但是當dirent.h不可用時(例如Visual Studio),在Windows上最好的方法是什麼?

我是否應該強制人們將免費的dirent.h實現添加到他們的Visual Studio中?或者我應該爲閱讀文件編寫一個替代代碼?如果是這樣,那麼最好的代碼是什麼?

謝謝。

回答

2

類似Boost Filesystem可以在所有這些情況下工作。

+1

要求他們增加Boost到他們的VS環境。 – 2011-04-30 08:41:20

+0

@unapersson是的,他們會。這似乎沒有任何問題。 – jonsca 2011-04-30 08:42:36

5

dirent.h是一個POSIX標頭。在Windows上,您可以使用Win32 API中的Find*File*()函數。

+0

+1因爲FindFirstFile + FindNextFile是在沒有額外抽象層的情況下在Windows上查找文件的最佳方式。 – dacap 2011-04-30 13:36:31

+0

我想知道,如果它是POSIX(dirent.h),它不應該在Windows上訪問嗎? (因爲windows幾乎兼容POSIX) – Tebe 2012-12-30 19:25:13

+0

@gekannt:Windows遠不如POSIX兼容。 – 2012-12-30 19:32:05

1

要添加到上面的答案,Windows API可以通過包含的windows.h頭文件進行訪問。

相關問題