我试图访问我的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