博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LinuxC中全局变量environ
阅读量:4626 次
发布时间:2019-06-09

本文共 1119 字,大约阅读时间需要 3 分钟。

Linux C中environ 变量是一个char** 类型,存储着系统的环境变量。

要想遍历环境变量可以用下面这个程序:

#include 
extern char ** environ;int main(){ char ** envir = environ; while(*envir) { fprintf(stdout,"%s\n",*envir); envir++; } return 0;}

因为environ是一个全局的外部变量,所以切记使用前要用extern关键字进行声明,然后在使用。

unistd.h头文件中声明了这个变量,所以也可以将unist.h进行include,这个时候就不用再对environ进行extern声明了(应为unistd.h中已经声明了),代码如下:

#include 
#define __USE_GNU#include
//extern char ** environ;int main(){ char ** envir = environ; while(*envir) { fprintf(stdout,"%s\n",*envir); envir++; } return 0;}

要注意的问题是,在unistd.h中声明environ的地方使用了条件编译,编译的条件就是#ifdef __USE_GNU,LinuxC中默认没有定义这个宏,所以要在#include <unistd.h>之前加上#define __USE_GNU

 

还有一种方法遍历环境变量,就是利用main函数的参数,我们常见的main函数带有两个参数int argc 和 char * argv[], 但实际上还有一个带有三个参数的main函数,如下:

int main(int argc, char *argv[], char *env[]){    int index = 0;    while(env[index] != NULL)    {        printf("env[%d]: %s\n", index, env[index]);        ++index;    }     return 0;}

 

就写到这里了,希望对大家有帮助。。不对之处还请指教,,谢谢~~

转载于:https://www.cnblogs.com/qingergege/p/6495475.html

你可能感兴趣的文章
BZOJ1878 [SDOI2009]HH的项链 树状数组 或 莫队
查看>>
vue+element-ui实现表格checkbox单选
查看>>
Xcode10 library not found for -lstdc++ 找不到问题
查看>>
Mysql 8.0.13如何重置密码
查看>>
发布功能完成
查看>>
excel 合并单元格
查看>>
How to Create Modifiers Using the API QP_MODIFIERS_PUB.PROCESS_MODIFIERS
查看>>
待飞笔记(第一天 )
查看>>
解惑好文:移动端H5页面高清多屏适配方案
查看>>
traefik添加多证书
查看>>
忽略UserInterfaceState.xcuserstate
查看>>
ReactNative--Flexbox布局
查看>>
java实现读取文件大全
查看>>
[Cordova] 无法显示Alert视窗
查看>>
借助过度区选择阈值
查看>>
python+rabbitMQ实现生产者和消费者模式
查看>>
“模态”对话框和“后退”按钮
查看>>
Geohash距离估算
查看>>
Demon_背包系统(实现装备栏,背包栏,可以切换装备)
查看>>
记录:一次数据库被恶意修改配置文件的问题
查看>>