1. //使用dos命令

可以直接用system("set path=c:/mydocs;"); 

 

2. //修改注册表吧:   

HKEY_LOCAL_MACHINE/SYSTEM/ControlSet001/Session   Manager/Environment/path

 

3. //其他信息

环境变量由一对字符串组成,格式为:变量=关联值。例如, 

 

PATH=C:/WINDOWS 

 

在DOS和WINDOWS中,你可以从命令行或在批处理文件中定义环境变量,方法是使用SET命令,后面跟赋值表达式。下面是一个创建环境变量的例子, 

 

SET VERSION=1.1.3 

 

在Unix中可以省略前面的SET,写为: 

 

VERSION=1.1.3 

 

读取环境变量 

 

程序只有在启动时才能访问到环境变量,环境变量由一个字符串数组构成,其形式为“VAR=value”。可以用getenv()和putenv()函数从程序中访问环境变量。 

 

ANSI C 的函数getenv()提供了轻松简便的访问环境变量的方法,这个函数在 

<stdlib.h>中声明,原型如下: 

 

char * getenv(const char * name); 

 

如果函数调用成功,它返回环境变量的字符串值。如果变量没有被定义,函数返回空(NULL)。例如:

#include <stdlib.h> 

#include <stdio.h> 

int main() 

{ 

char * descr = getenv("PATH"); 

if (descr) 

printf("value of PATH is: %s", descr); 

else 

printf("variable not defined"); 

} 

 

设置环境变量 

 

为了定义环境变量或者改变现存的变量值,使用putenv()函数。这个函数不是由标准的ANSI/ISO定义的。在实际应用中,Unix和Windows都将这个函数作为非标准扩展定义在<stdlib.h>文件中,它是可移植的。其原型如下: 

 

int putenv(const char * var); 

 

参数var必须是字符串,而且格式必须是“VAR=VAL”。putenv()将变量VAR添加到当前的环境变量中,并赋值VAL。如果变量已存在, putenv()覆盖现存的值。如果你不想覆盖现存变量的值,就先调用getenv()来检查变量是否存在,然后再调用putenv()。下面的例子是添加一个名为TEMP的环境变量,赋值为C:/TEMP(注意反斜杠在C/C++字符串中的表示方法)。如果调用成功,putenv()返回0,否则返回-1。 

int stat = putenv("TEMP=C://TEMP"); 

if (!stat) 

{ 

printf("环境变量定义失败"); 

} 

 

支持大字符集变量 

 

Win32中也能定义getenv()和putenv()的大字符集版本。注意_wputenv()使用于NT和Win2000: 

 

wchar_t * _wgetenv(const wchar_t * name); 

int _wputenv(const wchar_t * var); 

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐