我試圖訪問我的environement變量之一,這是JAVA_HOME
。 要做到這一點,我使用getenv()
功能,像這樣: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;
}
我tryed std::getenv("PATH");
返回我不同的東西從我/etc/bash.bashrc
文件,我把我的JAVA_HOME
變量。
我預計std::getenv("JAVA_HOME")
返回我放在我的/etc/bash.bashrc
文件。現在它返回不同的東西。
我怎樣才能得到一個正確的environement變量?我究竟做錯了什麼 ?
我的Ubuntu 12.04下與GCC 4.7.2使用C++ 11與QtCreator
EDIT:代碼
包括[...]是爲一個速記包括
加空處理
編輯:進展
- 我tryed
extern char **environ
但它不包含一個變量,我需要...
編輯:部分解決
這裏沒有辦法,因爲我發現很容易做出這樣的事情。 我在IDE中設置了個人環境變量來解決這個問題。
是'#include [...]'實際上是你的代碼的一部分嗎? – 2013-04-10 15:57:02
我很確定它應該被稱爲'.bashrc'並在你的主目錄中。 – 2013-04-10 15:57:08
我在主目錄中看不到任何* .bashrc文件...應該是全名? – Xaltar 2013-04-10 16:00:22