我想使用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
的原因?
答案 0 :(得分:2)
在Windows上,您需要使用getenv("USERNAME")
。 USER
/ USERNAME
环境变量未标准化,除非您自己设置,否则在Windows上找不到名为USER
的环境变量。
答案 1 :(得分:1)
This page讨论了getenv()
的返回值:“带有所请求环境变量值的C字符串,或者如果这样的环境变量不存在则为空指针。”
看起来您的“USER”环境变量未设置。如果在命令行上键入set
,是否会显示?