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

Linda Hamilton
リリース: 2024-11-09 03:32:02
オリジナル
276 人が閲覧しました

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート