linux 库函数环境变量,获取环境变量函数

表头文件 #include

定义函数 char * getenv(const char *varname);

函数说明 getenv()用来取得参数name环境变量的内容。参数name为环境变量的名称,如果该变量存在则会返回指向该内容的指针。环境变量的格式为name=value。参数     name是一个包含环境变量名称的非空字符串。

返回值 执行成功则返回指向该内容的指针,找不到符合的环境变量名称则返回NULL。

相关函数 putenv,setenv,unsetenv

例子:

/* getenv example: getting path */

#include

#include int main (){

char * buffer;

buffer = getenv ("PATH");

if (buffer!=NULL)

printf ("Current path is: %s",buffer);

return 0;

}

putenv(改变或增加环境变量)

表头文件 #include

定义函数 int putenv(const char * string);

函数说明 putenv()用来改变或增加环境变量的内容。

参数     string的格式为name=value,如果该环境变量原先存在,则变量内容会依参数string改变,否则此参数内容会成为新的环境变量。

返回值 执行成功则返回0,有错误发生则返回-1。

错误代码 ENOMEM 内存不足,无法配置新的环境变量空间。

相关函数 getenv,setenv,unsetenv

例子:

/* putenv example */

#include

#include int main ()

{

char * buffer ;

buffer = getenv ("RESOURCES");

if (buffer==NULL)

{

putenv ("RESOURCES=www.cplusplus.com");

puts ("environment variable successfully set");

}

else puts ("environment variable already existed");

return 0;

}

setenv(改变或增加环境变量)

表头文件 #include

定义函数 int setenv(const char *name,const char * value,int overwrite);

函数说明 setenv()用来改变或增加环境变量的内容。参数name为环境变量名称字符串。

参数 value则为变量内容,参数overwrite用来决定是否要改变已存在的环境变量。如果overwrite不为0,而该环境变量原已有内容,则原内容会被改为参数value所指的变量内容。如果overwrite为0,且该环境变量已有内容,则参数value会被忽略。

返回值 执行成功则返回0,有错误发生时返回-1。

错误代码 ENOMEM 内存不足,无法配置新的环境变量空间

相关函数 getenv,putenv,unsetenv

例子:

#include

#include

main()

{

char * p;

if((p=getenv(“MYVAR”)))

printf(“MYVAR =%s ”,p);

setenv(“MYVAR”,”test”,1);

printf(“MYVAR=%s ”,getenv(“MYVAR”));

}

unsetenv(删除一个环境变量)

表头文件 #include

定义函数 int setenv(const char *name);

函数说明 unsetenv()用来删除一个名为name的环境变量。

参数name为环境变量名称字符

返回值 执行成功则返回0,失败返回-1例子:

#include

#include

main()

{

char * p;

if((p=getenv(“MYVAR”)))

printf(“MYVAR =%s ”,p);

setenv(“MYVAR”,”test”,1);

printf(“MYVAR=%s ”,getenv(“MYVAR”));

unsetenv(“MYVAR”);

printf(“MYVAR=%s ”,getenv

--------------------------------------------------------------------------------------------------------GetEnvironmentVariable

GetEnvironmentVariable函数从调用该函数的进程的环境变量中,返回指定的变量名的值,该值是一个以零结尾的字符串指针.

DWORD GetEnvironmentVariable(

LPCTSTR lpName, // address of environment variable name

LPTSTR lpBuffer, // address of buffer for variable value

DWORD nSize // size of buffer, in characters

);

参数:

lpName:要获取值的变量名字符串指针.

lpBuffer:接收变量值的字符串指针

nSize:接收变量值的内存大小.

返回值:

如果函数成功执行,则返回值是写入字符缓冲区的字符数量,但不包含'\0'字符.

如果没有找到所指的变量,则返回零.

如果字符缓冲区的大小小于变量值的长度,返回值为缓冲区的大小.

速查:

Windows NT: Requires version 3.1 or later.

Windows: Requires Windows 95 or later.

Windows CE: Unsupported.

Header: Declared in winbase.h.

Import Library: Use kernel32.lib.

Unicode: Implemented as Unicode and ANSI versions on Windows NT.

另请参阅:

Processes and Threads Overview, Process and Thread Functions, GetEnvironmentStrings, SetEnvironmentVariable

------------------------------------------------------------------------

GetEnvironmentStrings

该函数为当前进程返回系统环境变量,它取代了DOS模式下的相应函数:GetDOSEnvironment()

函数原型:

LPVOID GetEnvironmentStrings(VOID)

参数说明:

该函数不需要参数.

返回值:

该函数返回值是一个指向当前进程的系统环境变量的指针.

说明:

不要使用该函数来获取或设备系统环境变量.相反,应该使用GetEnvironmentVariable和SetEnvironmentVariable 函数来访问当前进程的系统环境变量.当不再需要当前进程的系统环境变量块时,应该调用FreeEnvironmentStrings函数来释放.

另请参阅:

Windows NT: Requires version 3.1 or later.

Windows: Requires Windows 95 or later.

Windows CE: Unsupported.

Header: Declared in winbase.h.

Import Library: Use kernel32.lib.

Unicode: Implemented as Unicode and ANSI versions on Windows NT.

Processes and Threads Overview, Process and Thread Functions, CreateProcess, GetEnvironmentVariable, SetEnvironmentVariable, FreeEnvironmentStrings

---------------------------------------------------------------------------------------------

GetEnvironment

GetEnvironment()

功能得到操作系统、处理器、屏幕显示等与系统相关的信息。

语法GetEnvironment ( environmentinfo )

参数environmentinfo:Environment对象名,用于保存系统环境信息返回值Integer。函数执行成功时返回1,发生错误时返回-1。如果参数environmentinfo的值为NULL,GetEnvironment()函数返回NULL。用法当开发交叉平台项目时,利用GetEnvironment()函数,应用程序能够得到当前运行的操作系统、使用的CPU类型、操作系统的版本、屏幕的大小以及颜色数等信息,这些信息的具体表示请参阅本书环境对象(Environment Object)的介绍。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值