每一个程序的运行背后都有一个环境变量表,环境变量表中一般记录着程序的配置路径。环境变量量表示当前操作系统的资源配置和环境设置等相关信息。每个程序运行时,操作系统都会把所有的环境变量记录到一张表中,传给程序。
在标准c语言库中为我们提供了一些函数帮助我们,增加,修改,删除,环境变量
char * const char *name);
功能:根据环境变量名,获取环境变量的值
int putenv(char *string);
功能:以name=value形式设置环境变量,如果name存在则更新,不存在则添加。
返回值:成功返回0,失败返回-1
int setenv(const char *name, const char *value, int overwrite);
功能:设置name环境变量的值为value,如果name存在且overwrite不为零则更新,否则不变。
int unsetenv(const char *name);
功能:从环境变量表中删除name
int clearenv(void);
功能:清空环境变量表
注意:操作系统记录的环境变量的数据记录一块特殊的存储空间,而在程序自己添加的环境
变量需要自己准备存储空间。
注意:对于环境变量的修改,只能影响自己,不能影响别人
查看环境变量表有两种方法:
1.main函数的参数:int main(int argc,char* argv[],char* environ[])
2.通过声明全局变量:extern char** environ;
void show_environ(void)
{
printf("----------环境变量表----------\n");
extern char** environ;
for(int i=0; environ&&environ[i]; i++)
{
printf("%d %s\n",i,environ[i]);
}
}