魅力博客

魅力Linux|魅力空间|魅力博客|学习Linux|ubuntu日记|电脑教程|手机软件

获取环境变量函数



getenv(取得环境变量内容)
putenv(改变或增加环境变量)
setenv(改变或增加环境变量)
unsetenv(清除环境变量内容)

getenv(取得环境变量内容)

表头文件 #include<stdlib.h>

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

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

参数     name是一个包含环境变量名称的非空字符串。

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

相关函数 putenv,setenv,unsetenv

例子:
/* getenv example: getting path */
#include <stdio.h>
#include <stdlib.h>

int main ()
{
char * buffer;
buffer = getenv ("PATH");
if (buffer!=NULL)
    printf ("Current path is: %s",buffer);
return 0;
}

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

表头文件 #include<stdlib.h>

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

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

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

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

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

相关函数 getenv,setenv,unsetenv

例子:

/* putenv example */
#include <stdio.h>
#include <stdlib.h>

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<stdlib.h>

定义函数 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 <stdlib.h>
#include <stdio.h>
main()
{
char * p;
if((p=getenv(“MYVAR”)))
printf(“MYVAR =%s ”,p);
setenv(“MYVAR”,”test”,1);
printf(“MYVAR=%s ”,getenv(“MYVAR”));
}

unsetenv(删除一个环境变量)  

表头文件 #include<stdlib.h>

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

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

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

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

#include <stdlib.h>
#include <stdio.h>
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 ”,gete
nv

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

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)的介绍。


返回顶部

发表评论:

Powered By Z-BlogPHP 1.7.3


知识共享许可协议
本作品采用知识共享署名 3.0 中国大陆许可协议进行许可。
网站备案号粤ICP备15104741号-1