2013-01-15 172 views
1

我開發Win32控制檯C++應用程序獲取應用程序目錄中的文件列表

我需要讓我的應用程序目錄中的文件列表

(例如,如果我的申請已經在C:\arash\app\我開始需要此文件夾中的文件列表)

我搜索到了FindFirstFile函數,在windows.h頭裏,但是這個函數需要一個目錄路徑。

我可以使用此函數獲取我的應用程序運行目錄中的文件列表嗎?

感謝

+0

我編輯了你的標題。請參閱[「應該在其標題中包含」標籤「?」](http://meta.stackexchange.com/questions/19190/),其中的共識是「不,他們不應該」。 – Default

+0

@Default有趣的是,我可以記住[「我該如何寫一個好的標題?」](http://meta.stackexchange.com/a/10648/153990)來提出相反的建議。 – Kos

+0

@Kos有趣..雖然,我不得不同意Jeff Atwood的觀點,「我認爲在標題中複製標籤是可以的,但只有當他們可以有機地和對話地加入標題時。」在這裏,它不是。 – Default

回答

1

當前工作目錄是 '.'。

正如評論中指出的那樣,這不一定是你想要的目錄。

+1

這是當前工作目錄,它可以在整個生命週期中動態更改,並且不保證始終反映應用程序運行的文件夾。 –

+1

'.'和'..'是相對於進程的CWD而不是實際的.exe文件。像操作系統文件對話框和桌面快捷方式的東西可以改變CWD,以及調用'SetCurrentDirectory()'函數的代碼。 –

4

使用帶有NULL模塊句柄的GetModuleFileName()來獲取.exe文件的路徑和文件名。然後您可以剝離文件名部分,並根據需要使用剩餘的路徑。

相關問題