【发布时间】:2017-02-04 16:29:09
【问题描述】:
如果我尝试获取现有变量之一,一切正常,但如果我尝试访问我的变量,则该方法返回 NULL。我在 Windows 10 下编写:)
#include <stdio.h>
int main()
{
test1();
return 0;
}
int test1()
{
char *libvar = getenv("NS_RULEBASE_PATH");
FILE *fp;
fp = fopen("D:/debug.txt", "w+");
if (libvar) {
fprintf(fp, libvar);
fclose(fp);
}
else {
fprintf(fp, "env not set");
fclose(fp);
}
return 0;
}
【问题讨论】:
-
请在问题中包含您的代码,而不是链接到屏幕截图...
-
另外,你是怎么设置环境变量的?如果你在
cmd中使用了set,那么它只适用于当前进程。如果您使用 GUI 设置环境变量,那么您需要重新启动应该知道更改的变量的应用程序。 -
请注意,如果您不知道该字符串中的内容,
fprintf(fp, libvar)会有点危险。更安全的方法是fprintf(fp, "%s", libvar)。
标签: c windows environment-variables