在程式執行的目前目錄中建立檔案時,取得正確的路徑至關重要。但是,在您的程式碼中,您在 GetCurrentDirectory() 期間遇到異常。
該異常可能是由傳遞給 GetCurrentDirectory 的參數無效引起的。在呼叫此函數之前,您需要指派一個緩衝區來儲存目錄路徑。
要擷取可執行檔案的路徑,請考慮使用GetModuleFileName 取代:
TCHAR buffer[MAX_PATH] = { 0 }; GetModuleFileName(NULL, buffer, MAX_PATH);
若要取得不含檔名的目錄路徑,可以使用下列函數:
#include <windows.h> #include <string> #include <iostream> std::wstring ExePath() { TCHAR buffer[MAX_PATH] = { 0 }; GetModuleFileName(NULL, buffer, MAX_PATH); std::wstring::size_type pos = std::wstring(buffer).find_last_of(L"\/"); return std::wstring(buffer).substr(0, pos); } int main() { std::cout << "my directory is " << ExePath() << "\n"; }
以上是如何在 C 語言中檢索目前目錄路徑?的詳細內容。更多資訊請關注PHP中文網其他相關文章!