ホームページ  >  記事  >  バックエンド開発  >  C で現在のディレクトリを取得するにはどうすればよいですか?

C で現在のディレクトリを取得するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-11-09 03:32:02198ブラウズ

How to Get the Current Directory in C  ?

現在のディレクトリの取得

現在のディレクトリの取得は、プログラミングにおいて頻繁に行われるタスクです。たとえば、実行可能ファイルが実行されているのと同じディレクトリにファイルを作成するとします。これを行うには、現在のディレクトリのパスを取得する必要があります。

ただし、次に示すように 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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。