美文网首页
C程序使用环境变量

C程序使用环境变量

作者: 霜冷长河wzq | 来源:发表于2020-12-31 15:50 被阅读0次

    系统提供了一个全局变量environ。

    //打印所有环境变量
    #include<iostream>
    #include<stdlib.h>
    #include<stdio.h>
    int main()
    {
    int i = 0;
    extern char **environ; 
    while(*(environ+i) != NULL)
    {
        std::cout<<*(environ+i)<<std::endl;
        i++;
    }
    
    return 0;
    }
    /*打印:
    HOME=/root
    PYTHONPATH=/root
    ...
    */
    

    使用环境变量可以在不改变源程序的情况下,控制程序输出,如调试信息,打印等级等等。
    通过getenv(const char *name)读入环境变量值。

    在linux终端中:
    设置环境变量:export 变量名=value
    删除环境变量:unset 变量名

    #include<iostream>
    #include<stdlib.h>
    #include<stdio.h>
    int main()
    {
    std::cout<<"LOG_LEVEL :"<< getenv("LOG_LEVEL")<<std::endl;
    char *logS =  getenv("LOG_LEVEL");
    
    if(getenv("LOG_LEVEL")) //如果export LOG_LEVEL=x 进入此条件
    {
        int logI = atoi(logS);
        if(logI==1)
        {
            std::cout<<"level 1"<<std::endl;
        }
        else if(logI==2)
        {
            std::cout<<"level 2"<<std::endl;
        }
        else
        {
            std::cout<<"other level"<<std::endl;
        }
    }
    
    return 0;
    }
    
    

    相关文章

      网友评论

          本文标题:C程序使用环境变量

          本文链接:https://www.haomeiwen.com/subject/lpxkoktx.html