getenv
возвращает char*
.Нет способа инициализировать char[N]
из char*
.То, что вам нужно сделать, это захватить указатель и затем скопировать строку в массив, например
char UTMZone[4];
char* ret = getenv("UTMZONE");
if (ret)
strncpy(UTMZone, ret, 4);
else
// abort
При этом, если вы можете использовать std::string
, то это можно создать из char*
.Использование
char* ret = getenv("UTMZONE");
if (ret)
std::string UTMZone = ret;
else
// abort
дает вам строку, заполненную переменной окружения.Если вам нужно передать его чему-то, что требует char*
или const char*
, тогда вы можете использовать функции-члены data()
или c_str()
соответственно.Это было бы похоже на
function_that_needs_char_star(UTMZone.data());
function_that_needs_const_char_star(UTMZone.c_str());