Linux练习(读取改变环境变量)
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
int main(int argc,char **argv)
{
char *var,*value;
if(argc==1||argc>3)
{
exit(1);
}
var=argv[1];
value=getenv(var);
if(value)
printf("Variable %s has value %s
",var,value);
else
printf("Variable %s has no value
",var);
if(argc==3)
{
char *string;
value=argv[2];
string=malloc(strlen(var)+strlen(value)+2);
if(!string)
{
fprintf(stderr,"out of memoryy
");
exit(1);
}
strcpy(string,var);
strcat(string,"=");
strcat(string,value);
printf("Calling putenv with: %s
",string);
if(putenv(string)!=0)
{
free(string);
exit(1);
}
value=getenv(var);
if(value)
printf("New value of %s is %s
",var,value);
else
printf("New value of %s is null??
",var);
}
exit(0);
} #include
函数原型:
#include <stdlib.h>
char *getenv(const char *name); 如果环境变量不存在,返回null.
int putenv(const char *string);如果添加环境变量失败返回-1
#include上一篇:
IDEA上Java项目控制台中文乱码
