Ответ 1
Используйте функцию 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;
}
}
который позволяет избежать проблем, когда переменная окружения не существует, и позволяет легко использовать строки С++ для запроса среды. Конечно, это не позволяет мне проверить, существует ли переменная среды, но в целом это не проблема в моем коде.