p5-4.c

来自「UNIX程序设计教程」· C语言 代码 · 共 46 行

C
46
字号
#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);    }    /*  用getenv从环境中取变量之值  */    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);    /* 如果是三个参数的调用,构成"name=value"并调putenv  */    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);        }        /*  用getenv核实该变量新的值  */        value = getenv(var);        if(value)            printf("New value of %s is %s\n",var,value);        else             printf("New value of %s is null??\n",var);        }    exit(0);}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?