我想獲取環境變量的內容,如果它存在。在C++中獲取環境變量 - 我得到NULL
#define MY_VAR "MY_ENV_VAR"
//function
#pragma warning(disable:4996)
char const* temp = getenv(MY_VAR);
if(temp != NULL)
{
string_variable = std::string(temp);
}
//code
#pragma warning(default:4996)
我以爲我是在做正確的事情,但只要我創建的環境變量,把它的默認值,我預計溫度不爲NULL ......我有沒有抱太大的期望?
我在調試,我看到:
temp 0x00000 <Bad Ptr>
! CXX0030 Error: Expression cannot be evaluated
運行「設置」,在命令行中顯示我的環境變量(系統的方式)。
我在Windows ...
注:我使用的編譯警告,因爲我讀了GETENV已棄用或東西。
請給我一個想法,爲什麼我沒有得到有效的價值。謝謝。
env-var實際上是在運行程序的環境中設置的嗎? – JasonD
該錯誤可能是您沒有發佈的代碼。 –
更改環境變量後重新啓動IDE。 –