- 论坛徽章:
- 0
|
这篇文章主要描述Linux编程中常遇到的函数的信息,包括函数行为描述,参数描述,示例等几个方面。我将不断充实这篇文章,争取可以囊括大部分Linux下常用的编程函数。
环境变量函数
[color="#336600"]getenv(取得环境变量内容)
表头文件 #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;
}
[color="#336600"]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;
}
[color="#336600"]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”));
}
[color="#336600"]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(“MYVAR”));
}
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/3108/showart_61142.html |
|