2

環境変数の 1 つにアクセスしようとしていますJAVA_HOME。そのために、次getenv()のように関数を使用しています。

#include <iostream>
#include <string.h>

int main() {
    const char* env = getenv("JAVA_HOME");
    if(env != NULL)
        std::cout << "Environnement : " << env << std::endl;
    else
        std::cout << "NULL" << std::endl;
    return 0;
}

変数を配置std::getenv("PATH");したファイルとは異なるものを返すようにしました。/etc/bash.bashrcJAVA_HOME

ファイルstd::getenv("JAVA_HOME")に入れたものを返すことを期待していました。/etc/bash.bashrc今は違うものを返します。

正しい環境変数を取得するにはどうすればよいですか? 私は何を間違っていますか?

QtCreatorでC ++ 11を使用して、GCC 4.7.2でUbuntu 12.04を使用しています

編集:コード

  • Include[...] は include の省略形でした

  • NULL 処理を追加

編集:進行状況

  • 試してみましextern char **environたが、必要な変数が1つ含まれていません...

編集:部分的な解決策

私が知ったように、そのようなことを簡単に行う方法はありません。この問題を解決するために、IDE で個人用の環境変数を設定しました。

4

1 に答える 1