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

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

Patricia Arquette
リリース: 2024-11-08 10:29:02
オリジナル
707 人が閲覧しました

How to Retrieve the Current Directory Path in C  ?

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

プログラムが実行されている現在のディレクトリにファイルを作成する場合、正しいパスを取得することが重要です。ただし、コードでは、GetCurrentDirectory() 中に例外が発生します。

例外について

この例外は、GetCurrentDirectory に渡された無効な引数によって引き起こされる可能性があります。この関数を呼び出す前に、ディレクトリ パスを保存するバッファを割り当てる必要があります。

GetModuleFileName を使用した代替解決策

実行可能ファイルのパスを取得するには、代わりに GetModuleFileName の使用を検討してください。

TCHAR buffer[MAX_PATH] = { 0 };
GetModuleFileName(NULL, buffer, MAX_PATH);
ログイン後にコピー

ディレクトリ パスの抽出

ファイル名なしでディレクトリ パスを取得するには、次の関数を使用できます:

#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 までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート