首頁 > 後端開發 > C++ > 主體

為什麼 GetCurrentDirectory() 拋出異常以及如何修復它?

Mary-Kate Olsen
發布: 2024-11-09 17:53:02
原創
432 人瀏覽過

Why is GetCurrentDirectory() throwing an exception and how can I fix it?

取得目前目錄時發生錯誤

問題:
嘗試使用 GetCurrentDirectory() 取得目前目錄時遇到異常。

有可能原因:
LPTSTR 變數 NPath 尚未正確初始化。

推薦解決方案:
要解決此問題,請在使用 GetCurrentDirectory() 之前為 NPath 分配記憶體。或者,考慮利用 GetModuleFileName() 函數來取得可執行路徑。

使用GetModuleFileName() 的代碼示例:

TCHAR buffer[MAX_PATH] = { 0 };
GetModuleFileName( NULL, buffer, MAX_PATH );
登入後複製

以下代碼示例從路徑中提取目錄:

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);
}
登入後複製

利用GetModuleFileName()並擷取目錄部分,可以成功取得目前目錄,不會遇到異常。

以上是為什麼 GetCurrentDirectory() 拋出異常以及如何修復它?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板