如何在C中打印环境变量,但没有值?只有变量。
int main(int argc, char **argv, char **envp)
{
while(*envp!=NULL) {
printf("%sn", *envp);
envp++;
}
system("pause");
return 0;
}
由于环境变量具有NAME=value
的格式,因此您只需要显示=
字符以内的部分字符串。
#include <stdlib.h>
#include <stdio.h>
int main(int argc, char **argv, char **envp)
{
while(*envp!=NULL) {
char * len = strchr(*envp, '=');
if (len == NULL)
printf("%sn", *envp);
else
printf("%.*sn", len - *envp, *envp);
envp++;
}
system("pause");
return 0;
}
Ideone
环境变量的格式为NAME=value
。因此,您可以查找第一个=
符号并只打印到它,以仅获得名称。