#include <stdio.h>
#include <stdlib.h>
void penv() {
extern char **environ;
for (char **p = environ; *p != NULL; ++p) {
printf("%s\n", *p);
}
}
int main(void) {
// getenv在stdlib.h中 获取环境变量,获取成功返回字符串,获取失败返回NULL
char *path = getenv("PATH");
printf("%s\n", path);
//设置/修改 环境变量key=value的形式 存在就修改,不存在就添加。成功返回0 不成功返回非0
putenv("MYSQLPASSWORD=123");
putenv("PATH=aaa");
// 设置/修改 环境变量name,value,overwrite的形式
// 如果overwrite 传入非0 存在就修改,不存在就添加。
// 如果overwrite 传入0 存在不做任何操作,不存在就添加。
// 成功返回0 不成功返回非0
setenv("PATH", "ddd", 0);
path = getenv("PATH");
printf("%s\n", path);
// 删除环境变量 传入变量名称 成功返回0 不成功返回非0
unsetenv("MYSQLPASSWORD");
// 清除所有环境变量,执行之后全局变量environ会变成NULL 成功返回0 不成功返回非0
clearenv();
return 0;
}
}