environ.c

来自「在beginning linux programming 书中提供的第四章的有关」· C语言 代码 · 共 56 行

C
56
字号
//  1  The first few lines after the declaration of main ensure that the program, environ.c, has been called correctly.#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);    }//  2  That done, we fetch the value of the variable from the environment, using 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);//  3  Next, we check whether the program was called with a second argument. If it was, we set the variable to the value of that argument by constructing a string of the form name=value and then calling 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);        }//  4  Finally, we discover the new value of the variable by calling getenv once again.        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 + -
显示快捷键?