怎样检索环境变量(environment variables)的值?
发布网友
发布时间:2022-04-20 06:17
我来回答
共1个回答
热心网友
时间:2022-07-10 23:16
事实上,你可以用getenv()检索AUTOEXEC.BAT文件中的或者系统引导后在DOS揭示符下输入的所有环境变量的值。
这里有一个小技巧。当运行Windows时,Windows设置了一个名为WINDIR的新的环境变量,它包含了Windows目录的路径全名。下面这段简单的程序用来检索这个串:
# include
main(int argc, char * * argv){char envValue[l29];
char * envPtr = envValue ;
envPtr = getenv("windir");
/ * print the Windows directory * /
printf("The Windows Directory is %s\n" , envPtr);}这个程序还可以用来判断当前是否正在运行Windows,以及DOS程序是否运行在一个DOS shell下,而不是运行在“真正的"DOS下。注意,程序中的windir字符串是小写——这一点很重要,因为它对大小写是敏感的。如果你使用WINDIR,getenv()就会返回一个NULL串(表示变量未找到错误)。
用一putenv()函数也可以设置环境变量。但要注意,该函数不是一个ANSI标准函数,在某些编译程序中它可能不以这个名字出现,或者根本就不存在。你可以用一putenv()函数做许多事情。