Linux环境编程
#include#include#includeint main(int argc, char *argv[]){char *var, *value;if (argc == 1 || argc >3){fprintf(stderr, "usage: environ var[value]\n");exit(1);}var = argv[1];val
·
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
int main(int argc, char *argv[])
{
char *var, *value;
if (argc == 1 || argc >3)
{
fprintf(stderr, "usage: environ var[value]\n");
exit(1);
}
var = argv[1];
value = getenv(var);
if (value)
{
printf("Variable %s has value %s\n",var, value);
}
else
{
printf("Variable %s has no value\n",var);
}
if (argc == 3)
{
char *string;
value = argv[2];
string = malloc(strlen(var) + strlen(value + 2));
if (!string)
{
fprintf(stderr,"out of memory!\n");
exit(1);
}
strcpy(string,var);
strcat(string,"=");
strcat(string,value);
printf("Calling putenv with: %s\n", string);
if(putenv(string)!=0)
{
fprintf(stderr,"putenv failed\n");
free(string);
exit(1);
}
value = getenv(var);
if (value)
printf("New value of %s is %s\n",var,value);
else
printf("New value of %d is null ??\n",var);
}
exit(0);
}
执行结果
更多推荐
已为社区贡献2条内容
所有评论(0)