如何将getenv()的内容放入一个字符串中

时间:2011-05-03 08:57:07

标签: c++ environment-variables

  

可能重复:
  How to read Linux environment variables in c++

如何更改以下内容以执行其应该执行的操作?

string s = getenv("PATH");

2 个答案:

答案 0 :(得分:18)

您必须先检查getenv是否成功:

char const* tmp = getenv( "PATH" );
if ( tmp == NULL ) {
    //  Big problem...
} else {
    std::string s( tmp );
    //  ...
}

(假设我猜对了“它是什么” 应该做“。)

答案 1 :(得分:10)

std::string getEnvVar(std::string const& key)
{
    char const* val = getenv(key.c_str()); 
    return val == NULL ? std::string() : std::string(val);
}