我開發Win32控制檯C++應用程序獲取應用程序目錄中的文件列表
我需要讓我的應用程序目錄中的文件列表
(例如,如果我的申請已經在C:\arash\app\
我開始需要此文件夾中的文件列表)
我搜索到了FindFirstFile
函數,在windows.h
頭裏,但是這個函數需要一個目錄路徑。
我可以使用此函數獲取我的應用程序運行目錄中的文件列表嗎?
感謝
我開發Win32控制檯C++應用程序獲取應用程序目錄中的文件列表
我需要讓我的應用程序目錄中的文件列表
(例如,如果我的申請已經在C:\arash\app\
我開始需要此文件夾中的文件列表)
我搜索到了FindFirstFile
函數,在windows.h
頭裏,但是這個函數需要一個目錄路徑。
我可以使用此函數獲取我的應用程序運行目錄中的文件列表嗎?
感謝
當前工作目錄是 '.
'。
正如評論中指出的那樣,這不一定是你想要的目錄。
這是當前工作目錄,它可以在整個生命週期中動態更改,並且不保證始終反映應用程序運行的文件夾。 –
'.'和'..'是相對於進程的CWD而不是實際的.exe文件。像操作系統文件對話框和桌面快捷方式的東西可以改變CWD,以及調用'SetCurrentDirectory()'函數的代碼。 –
使用帶有NULL模塊句柄的GetModuleFileName()
來獲取.exe文件的路徑和文件名。然後您可以剝離文件名部分,並根據需要使用剩餘的路徑。
我編輯了你的標題。請參閱[「應該在其標題中包含」標籤「?」](http://meta.stackexchange.com/questions/19190/),其中的共識是「不,他們不應該」。 – Default
@Default有趣的是,我可以記住[「我該如何寫一個好的標題?」](http://meta.stackexchange.com/a/10648/153990)來提出相反的建議。 – Kos
@Kos有趣..雖然,我不得不同意Jeff Atwood的觀點,「我認爲在標題中複製標籤是可以的,但只有當他們可以有機地和對話地加入標題時。」在這裏,它不是。 – Default