读书人

环境变量environ为啥为NULL

发布时间: 2013-01-08 14:02:14 作者: rapoo

环境变量environ为何为NULL?


#include <stdio.h>

extern char **environ;

int main(int agrc, char* argv[])
{
int i;
for (i = 0; environ[i] != NULL; i++)
{
printf("%s\n",environ[i]);
}
return 0;
}

调试的时候发现environ值是0,什么原因?权限问题?
[解决办法]
#include <iostream>
#include <unistd.h>

int main(int argc, char* const argv[])
{
int i;
extern char* *environ;

for (i = 0; environ[i] != NULL; ++ i)
{
std::cerr << environ[i] << std::endl;
}

return 0;
}

读书人网 >UNIXLINUX

热点推荐