环境变量的自动重设置

ZDNet软件频道 时间:2004-04-19 作者:Builder.com |  我要评论()
本文关键词:c++tips
本文将会为大家介绍一个关于c++的实用小技巧。
本文译自Builder.com,未经许可请勿转载

一个环境变量由两个串组成,这两个串由等号分开。最左边串是变量自身,最右边的串是和它相关的值,比如:

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()


本文作者:Danny Kalev 从事系统分析和软件工程师的工作已有14年之久。他特别擅长C++和面向对象的设计方面。


责任编辑:李宁

欢迎评论投稿

百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134