我正在尝试获取环境变量的内容,如果它存在的话。
#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)
我以为我在做正确的事情,但是一旦我创建了环境变量并为其赋予了默认值,我就希望 temp 不为 NULL ......我期待太多了吗?
我在调试中,我看到:
temp 0x00000 <Bad Ptr>
! CXX0030 Error: Expression cannot be evaluated
在命令行中运行“set”会显示环境变量(顺便说一下,系统)。
我在Windows...
注意:我使用了编译指示警告,因为我读到 getenv 已被弃用或其他东西。
请告诉我为什么我没有得到有效值。谢谢你。