【发布时间】:2013-09-14 04:50:20
【问题描述】:
我尝试从我的 C++ 应用程序中获取 Windows 中的一些系统环境。我尝试了 getenv 和 GetEnvironmentVariable 但都卡住了。程序编译,但是当我运行它时,我看到指针闪烁了一段时间,没有任何显示,然后程序崩溃并显示消息:
RUN FAILED(退出值 -1 073 741 819,总时间:10s)
我尝试了很多来自网络的示例,所有示例都给出了相同的结果。我试过的一些例子:
char l_strSingleVal[20];
GetEnvironmentVariable("PATH", l_strSingleVal,20);
printf("VariableName: %s\n",l_strSingleVal);
或:
std::string string_variable;
const std::string MY_VAR = "PATH";
char const* temp = std::getenv(MY_VAR.c_str());
if(temp != NULL)
{
string_variable = std::string(temp);
}
【问题讨论】:
-
-1073... 可能是因为您的
main末尾没有“return 0”。 -
@MatsPetersson:怎么样?也许编译器坏了......
-
啊,不,这是内存冲突,0xc0000005 错误代码。我希望它在一些尚未在此处发布的代码中......至少如果第二个版本确实提供了这种行为。
-
我在 main 的末尾返回 0。我使用 MinGW。该项目有点大,但我相信我发布了重要部分 - 当我用简单的 std::cout
标签: c++ windows environment-variables