zoukankan      html  css  js  c++  java
  • 【C++】设置、改变、获取系统环境变量:setenv & putenv & getenv

    1. getenv:取得环境变量内容

    头文件- #include<stdlib.h>
    格式: char * getenv(const char *name);
    意义: getenv()用来取得参数name环境变量的内容。

    @param name为环境变量的名称,如果该变量存在则会返回指向该内容的指针。环境变量的格式为name=value。
    return 执行成功则返回指向该内容的指针,找不到符合的环境变量名称则返回NULL。

    【注】:相关函数 putenv,setenv,unsetenv;

    示例

    #include <stdlib.h> 
    mian() 
    { 
        char *p; 
        if((p = getenv(“USER”))) 
          printf(“USER=%s
    ”,p); 
    }

    执行后显示:    USER = root

    2. putenv:改变或增加环境变量 

    int putenv(const char * string);
    意义:putenv()用来改变或增加环境变量的内容。

    @param: string的格式为name=value,如果该环境变量原先存在,则变量内容会依参数string改变,否则此参数内容会成为新的环境变量。
    reutrn 执行成功则返回0,有错误发生则返回-1。
    错误代码:ENOMEM 内存不足,无法配置新的环境变量空间。

    示例:

    #include<stdlib.h> 
    main() 
    { 
      char *p; 
      if((p = getenv(“USER”))) 
          printf(“USER =%s
    ”,p); 
      putenv(“USER=test”); 
      printf(“USER=%s
    ”,getenv(“USER”)); 
    }

    执行 USER=root  USER=test

    3. setenv:改变或增加环境变量

     int setenv(const char *name,const char * value,int overwrite);

    name为环境变量名称字符串。
    value则为变量内容。

    overwrite用来决定是否要改变已存在的环境变量。如果overwrite不为0,则改变环境变量原有内容,原有内容会被改为参数value所指的变量内容。如果overwrite为0,且该环境变量已有内容,则参数value会被忽略。

    reuturn 执行成功则返回0,有错误发生时返回-1。

    错误代码 ENOMEM 内存不足,无法配置新的环境变量空间

    示例

    #include<stdlib.h>
    main()
    {
      char * p;
      if((p=getenv(“USER”)))
          printf(“USER =%s
    ”,p);
      setenv(“USER”,”test”,1);
      printf(“USER=%s
    ”,getenv(“USEr”));
      unsetenv(“USER”);
      printf(“USER=%s
    ”,getenv(“USER”));
    }

    结果:

    USER = root        USER = test          USER = (null)

  • 相关阅读:
    0.1.3 set的用法
    JoinPoint
    砝码组合(dfs)
    强大的【环绕通知】
    applicationContext.xml 模板
    各种jar包
    装饰博客(二)添加宠物
    装饰博客(一)添加背景图片
    拖拽功能的实现
    点击之后连接qq
  • 原文地址:https://www.cnblogs.com/SchrodingerDoggy/p/14334114.html
Copyright © 2011-2022 走看看