Linux系统C语言操作环境变量的函数

C语言操作环境变量的函数

系统提供了很多关于环境表和环境变量的函数;
    getenv()    按环境变量的名取得环境变量的值;返回指向name关联的value的指针;
    putenv()/setenv()    设置环境变量;
        //区别:putenv()参数格式"name=value",setenv()是三个参数(分开),putenv()一定会替换已经存在的,setenv()可以用第三个参数设置是否替换已经存在的;
    unsetenv()    删除一个定义的环境变量;
    clearenv()    删除环境表中所有的环境变量;
    以上这些函数使用时需要包含stdlib.h头文件,以上都是标准c语言函数;
使用man命令查看以上函数的使用方法;
如果一个函数的帮助文档中,返回错误时有errno,那么这个函数就可以用perror()处理错误信息;
main()中的第三个参数就是环境表;
    main(int argc, char** argv, char** env);
初级程序员都是看手册(英文)写代码;

/*
 * 环境表与环境变量函数练习
 */
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char **argv, char **env) {
    extern char **environ;
    printf("env = %p, environ = %p\n", env, environ);
    /* env和environ的地址相同, */
    /* 说明main的第三个参数就是环境表的首地址; */

    char *value = getenv("LANG");
    printf("value = %s\n", value);

    putenv("VAR=ABC");    //新增环境变量;
    printf("%s\n", getenv("VAR"));    //ABC
    putenv("VAR=123");    //新增环境变量;
    printf("%s\n", getenv("VAR"));    //123

    setenv("VAR", "456", 0);    //0代表不覆盖;
    printf("%s\n", getenv("VAR"));    //123,不变
    setenv("VAR", "789", 1);    //非0代表覆盖
    printf("%s\n", getenv("VAR")); //789

    return 0;
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值