_12_环境变量

=====================================================

getenv函数

  功 能: 从环境中取字符串,获取环境变量的值

  #include<stdlib.h>

  char *getenv(char *envvar);

  描述:用来取得参数envvar环境变量的内容。参数envvar为环境变量的名称,如果该变量存在则会返回指向该内容的指针

  执行成功则返回指向该内容的指针,找不到符合的环境变量名称则返回NULL。如果变量存在但无关联值,它将运行成功并返回一个空字符串,即该字符的第一个字节是null


setenv函数

  #include<stdlib.h>

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

  描述:用来改变或增加环境变量的内容。参数name为环境变量名称字符串。参数 value则为变量内容,参数overwrite用来决定是否要改变已存在的环境变量。

    如果没有此环境变量则无论overwrite为何值均添加此环境变量。若环境变量存在,当overwrite不为0时,原内容会被改为参数value所指的变量内容;

    当overwrite为0时,则参数value会被忽略。返回值 执行成功则返回0,有错误发生时返回-1


unsetenv函数

  #include<stdlib.h>

  int unsetenv(const char *name); 

  描述:删除环境变量,即使这个环境变量不存在也不会出错,只有环境变量的语法错误的时候才会出错,比如 "evc=",name一般是直接写evc

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

  下面的3个函数的使用例子

 1 #include <stdio.h>
 2 #include <stdlib.h>
 3 
 4 int main()
 5 {
 6    char *val;
 7    const char *name="abc";
 8    val=getenv(name);
 9    printf("%s==%s\n",name,val);
10 
11    int ret=setenv(name,"sg-sg",1);
12    printf("%d\n",ret);
13 
14    val=getenv(name);
15    printf("%s==%s\n",name,val);
16 
17    ret=unsetenv("asdf");
18    printf("%d\n",ret);
19 
20 }

  最后一个返回0,成功了, 至于为什么,具体看unsetenv的描述

=

猜你喜欢

转载自www.cnblogs.com/huangtiandi/p/9165115.html