本文共 1794 字,大约阅读时间需要 5 分钟。
getenv函数用于获取环境变量的值。该函数接受一个字符串参数name,表示环境变量的名称。如果环境变量name存在,则返回指向该变量值的指针;如果不存在,则返回NULL。
char * getenv(const char *name);
getenv函数会根据环境变量名查找对应的值。环境变量的格式通常为name=value。例如,USER=root
表示环境变量USER的值为root。
#includeint main() { char *p; if ((p = getenv("USER")) != NULL) { printf("USER=%s\n", p); } return 0;}
执行结果:
USER=root
putenv函数用于修改或新增环境变量的值。参数string的格式为name=value。如果环境变量name已存在,则更新其值;否则,新增该环境变量。
int putenv(const char *string);
putenv函数通过解析string参数来设置或修改环境变量。解析规则如下:
#includeint main() { // 获取当前USER值 char *p = getenv("USER"); printf("USER=%s\n", p); // 修改USER值为test putenv("USER=test"); // 再次获取USER值 p = getenv("USER"); printf("USER=%s\n", p);}
执行结果:
USER=rootUSER=test
setenv函数用于设置或修改环境变量的值。该函数接受三个参数:name(环境变量名称)、value(变量值)、overwrite(控制是否覆盖现有值)。
int setenv(const char *name, const char *value, int overwrite);
setenv函数根据overwrite参数决定是否覆盖现有环境变量:
#includeint main() { // 获取当前USER值 char *p = getenv("USER"); printf("USER=%s\n", p); // 修改USER值为test,并覆盖现有值 setenv("USER", "test", 1); // 修改USER值为空(相当于删除环境变量) setenv("USER", "", 0); // 检查USER值 p = getenv("USER"); printf("USER=%s\n", p);}
执行结果:
USER=rootUSER=testUSER= (null)
setenv("USER", "", 0)
),则相当于删除环境变量。这种用法在某些情况下非常有用。转载地址:http://mlkfk.baihongyu.com/