如何在c ++中读取Linux环境variables

在我的C ++程序中,我想从shell中加载一些环境variables到一些string中。 如何才能做到这一点?

使用getenv()函数 – 请参阅http://en.cppreference.com/w/cpp/utility/program/getenv 。 我喜欢把这个包装如下:

string GetEnv( const string & var ) { const char * val = ::getenv( var.c_str() ); if ( val == 0 ) { return ""; } else { return val; } } 

这样可以避免环境变量不存在时的问题,并且可以方便地使用C ++字符串来查询环境。 当然,它不允许我测试一个环境变量是否不存在,但通常这在我的代码中不是问题。

和C一样:使用getenv(variablename)。

你可以简单地使用char * env []

 int main(int argc, char* argv[], char* env[]){ int i; for(i=0;env[i]!=NULL;i++) printf("%s\n",env[i]); return 0; } 

这里是一个关于你的问题的完整文章,从我的网站