【发布时间】:2010-10-12 12:18:14
【问题描述】:
我想在我正在编写的 C++ 程序中访问 $HOME 环境变量。如果我用 C 编写代码,我只会使用 getenv() 函数,但我想知道是否有更好的方法来做到这一点。这是我到目前为止的代码:
std::string get_env_var( std::string const & key ) {
char * val;
val = getenv( key.c_str() );
std::string retval = "";
if (val != NULL) {
retval = val;
}
return retval;
}
我应该使用getenv() 来访问 C++ 中的环境变量吗?有没有一些我可能遇到的问题,我可以通过一点知识避免?
【问题讨论】:
-
我认为你的意思是返回 retval。
-
除了 Ferruccio 指出的错误之外,这在我看来是正确的。
-
@grieve,测试了一下,确实是对的