ホームページ > バックエンド開発 > C++ > クロスプラットフォーム C/C プログラムで実行ディレクトリを取得するにはどうすればよいですか?

クロスプラットフォーム C/C プログラムで実行ディレクトリを取得するにはどうすればよいですか?

DDD
リリース: 2024-12-21 02:48:12
オリジナル
717 人が閲覧しました

How Can I Get the Execution Directory in a Cross-Platform C/C   Program?

クロスプラットフォーム環境で実行ディレクトリを決定する方法

プログラミングの分野では、プログラムの実行ディレクトリを決定することは次のとおりです。これは重要ですが、プラットフォームとファイルシステムに依存するタスクです。 C および C 開発者は、これらの依存関係を超えた汎用ソリューションを求めることがよくあります。

完全にプラットフォームに依存しない方法はないかもしれませんが、ここでは Windows と C に合わせたソリューションを紹介します。 Linux:

Windows:

#include <windows.h>

int main() {
    char pBuf[256];
    size_t len = sizeof(pBuf);
    int bytes = GetModuleFileName(NULL, pBuf, len);
    printf("Execution directory: %s", pBuf);
    return 0;
}
ログイン後にコピー

Linux:

#include <unistd.h>
#include <string.h>

int main() {
    char pBuf[256];
    size_t len = sizeof(pBuf);
    int bytes = MIN(readlink("/proc/self/exe", pBuf, len), len - 1);
    if (bytes >= 0)
        pBuf[bytes] = '';
    printf("Execution directory: %s", pBuf);
    return 0;
}
ログイン後にコピー

以上がクロスプラットフォーム C/C プログラムで実行ディレクトリを取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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