1

我想使用函数获取用户名stdlib但是 getenv ()我总是在NULL这里得到我编写的代码:

#include<stdio.h>
#include<stdlib.h>

 main()
 {

 char *hai;
 printf("The current User name is\n");
 hai="USER";
 printf("%s\n",getenv(hai));


exit(0);
}

返回的值是否getenv ()取决于您用于编译代码的机器,以及为什么返回的值是NULL

4

2 回答 2

2

在 Windows 上,您需要使用getenv("USERNAME"). USER/环境变量是不规范的,除非你自己设置,否则你USERNAME不会找到USERWindows命名的环境变量。

于 2014-02-06T03:49:48.830 回答
1

本页讨论了以下内容的返回值getenv():“具有请求的环境变量值的 C 字符串,或者如果此类环境变量不存在,则为空指针。”

看起来您的“USER”环境变量没有设置。如果您set在命令行上键入它会显示吗?

于 2014-02-06T03:49:34.820 回答