【发布时间】:2011-03-08 11:56:14
【问题描述】:
我正在使用 MS Visual Studio 2008 开发 C++ 应用程序。我使用 'getenv()' 函数来获取环境变量,但是当搜索到的环境变量不存在时,它会引发访问冲突异常。这里有什么问题以及如何解决?
文档说如果搜索到的环境变量不存在,getenv() 函数将返回一个 NULL 指针,但为什么我会收到此访问冲突异常?
【问题讨论】:
-
您可能没有检查 getenv() 是否返回 NULL。向我们展示代码。
-
你在用 getenv 的返回值做什么?听起来您正在取消引用返回的 NULL。例如,尝试将其放入
std::string var = getenv ("MY_VAR")之类的字符串中即可。
标签: visual-c++ getenv