setenv与putenv的区别 .

来源:互联网 发布:淘宝女款折扣凉鞋 编辑:程序博客网 时间:2024/06/01 10:34

putenv与setenv的区别:

  • putenv可以使用程序中已定义,且值形如"name=value"的字符串变量作为函数的实参。此时,系统将不再为该环境变量分配内存,使用的是程序中定义变量的内存,而是将该字符串的变量地址保存在环境中。因此该变量应该定义为全局变量,以防止该函数推出以后导致环境变量不可用。
    [cpp] view plaincopyprint?
    1. char *var="sex=male";  
    2.   
    3. putenv(var);  

  • putenv可以使用形如"name=value"的常量字符串作为函数的实参。此时系统需要为该变量分配内存,存储字符串"name=value"。
    [cpp] view plaincopyprint?
    1. putenv("sex=male");  

  • setenv必须分配内存,存储字符串"name=value";
    [cpp] view plaincopyprint?
    1. setenv("sex","male",1);  

0 0
原创粉丝点击