直接上代码:
int main(int argc, char *argv[], char *env[])
{
LogTrace("start");
int index = 0;
while(env[index] != NULL)
{
printf("env[%d]: %s\n", index, env[index]);
++index;
}
LogTrace("end");
return 0;
}
int main(int argc, char *argv[], char *env[]):看名字也应该看出第三个参数传递的是环境变量。
运行结果如下:
./test
1386833991.863759;PID:56288.0;file:test.cc[20],FUN:main; start
env[0]: HOSTNAME=Idc
env[1]: TERM=linux
env[2]: SHELL=/bin/bash
env[3]: HISTSIZE=1000
env[4]: SSH_CLIENT=192.168.18.215 23648 32200
env[5]: QTDIR=/usr/lib64/qt-3.3
env[6]: QTINC=/usr/lib64/qt-3.3/include
env[7]: SSH_TTY=/dev/pts/3
env里面每个字符串都是key=value的形式。
注意一点:evn可以用null判断是否是最后一个了,但是argv不能用null判定,已经有argc了;有次陷入此陷阱,好坑爹!
本文介绍了一个简单的C程序,用于打印程序运行时的环境变量。通过遍历环境变量数组并检查每个元素来展示如何获取和显示这些变量。文章还提到了环境变量的格式,并给出了一些常见的环境变量示例。
999

被折叠的 条评论
为什么被折叠?



