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