- getenv
- putenv
- environ
其函数原型如下:
#includechar *getenv ( const char *name );
该函数用来取得环境变量name的内容。如果函数执行成功,则返回指向该内容的指针,否则返回NULL。
#includeputenv#include int main() { char *p; if ( ( p = getenv ( "USER" ) ) ) { printf ( "USER = %sn", p ); } }
其函数原型如下:
#includeint putenv ( const char *string );
该函数用来改变或增加环境变量的内容,参数string的格式为name = value。
- 如果该环境变量原先存在,则环境变量会依参数string改变。
- 如果该环境变量原先不存在,则参数string会成为新的环境变量。
如果函数执行成功,则返回0,否则返回-1。
#include#include int main() { char *p; if ( ( p = getenv ( "USER" ) ) ) { printf ( "USER = %sn", p ); } putenv ( ( char * ) "USER = test" ); printf ( "USER = %sn", getenv ( "USER" ) ); }
执行结果:
USER = fukangwei USER = fukangwei
注意,设置的环境变量仅对程序本身有效。
environ在C语言中有一个全局变量environ,用来记录环境变量:
#includeextern char **environ;
显示所有的环境变量:
#include#include extern char **environ; int main() { char **env = environ; while ( *env ) { printf ( "%sn", *env ); env++; } return 0; }
注意,修改environ变量仅对程序本身有效。



