問題:
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 中国語 Web サイトの他の関連記事を参照してください。