現在のディレクトリの取得
現在のディレクトリの取得は、プログラミングにおいて頻繁に行われるタスクです。たとえば、実行可能ファイルが実行されているのと同じディレクトリにファイルを作成するとします。これを行うには、現在のディレクトリのパスを取得する必要があります。
ただし、次に示すように GetCurrentDirectory() 関数を使用すると、
LPTSTR NPath = NULL; DWORD a = GetCurrentDirectory(MAX_PATH, NPath); HANDLE hNewFile = CreateFile(NPath, GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
例外が発生する可能性があります。実行可能パスを取得するには、GetCurrentDirectory() の代わりに GetModuleFileName() を使用する必要があります。
TCHAR buffer[MAX_PATH] = { 0 }; GetModuleFileName(NULL, buffer, MAX_PATH);
ファイル名なしでディレクトリ パスを取得するには、次の C 関数を使用できます:
#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 中国語 Web サイトの他の関連記事を参照してください。