一个环境变量由两个串组成,这两个串由等号分开。最左边串是变量自身,最右边的串是和它相关的值,比如:
HOME=C:Documents and SettingsMy Documents
环境变量让你在它运行的时候将信息传送到进程,因此,重设置就是自动的。比如,你可以固定一个环境变量,它可以在错误信息写入到文件的时候发挥作用,它可以不让这个错误破坏进程。
了解环境变量
为了可以访问环境变量,使用getenv()函数:
char * getenv(const char * str); //declared in <cstdlib>
只要成功,getenv()返回一个C串,其中包含了变量的值;否则,它将返回空。比如:
#include <cstdlib>
#include <iostream>
int main()
{
const char * path = std::getenv("PATH");
if (path)
std::cout<<"PATH is: "<< path <<std::endl;
else
std::cout<<"PATH isn't defined"<<std::endl;
}
定义一个环境变量
为了定义一个环境变量,使用putenv()函数:
int putenv(const char * var);
尽管ANSI/ISO标准不能定义这个函数,POSIX和Windows实现在<cstdlib>定义他,所以,它是非常方便的。
参数var必须在表格"VAR=VAL"中。putenv()添加VAR到当前的环境并分配VAL值到其中。如果var已经存在,putenv()可以不考虑。如果你不想考虑一个存在值的可能性,在调用putenv()的之前调用getenv()