输出linux系统的所有环境变量实例


我们在写main函数时,习惯使用第一和第二个参数,但三个参数就被忽略掉了。在这里记录一下第三个参数的作用吧:

如下实例,第三个参数env是一个char** 类型,这个双指针用来收集系统所有的环境变量,下面的小例子,就可以打印出系统所有的环境变量:


输出linux系统的所有环境变量实例:


#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>


int main(int argc, char **argv, char **env){
    printf("Hello!!!!!!!!!!!!!!!!!!!!!!\n");
    int i=0;
    int fd = open("env.log", O_RDWR | O_CREAT, S_IRUSR);
    for(i=0;i<argc;i++){
        printf("command line arguments: %s\n",*argv);
    }
    while(*env != NULL){
        printf("%s\n",*env);
        write(fd,*env,strlen(*env));
        write(fd,"\n",1);
        *env++;
    }
    close(fd);
    return 0;
}






版权声明:本文为ningxialieri原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。