#include <stdio.h> #include <stdlib.h> #include <string.h> int main() { char* pValue; pValue = getenv("HOME"); // 起始目录(主目录) printf("$HOME = %s ", pValue); // 在主目录下建立a.txt文件 char szFilePath[100]; strcpy(szFilePath, pValue); strcat(szFilePath, "/a.txt"); FILE* f = fopen(szFilePath, "w+");//w+ 打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。 if(f == NULL) perror("fopen"); fclose(f); // 打印当前工作绝对路径 char* pCurPath; pCurPath = getenv("PWD"); printf("$PWD=%s ", pCurPath); // 打印登录名 char* pLogName; pLogName = getenv("LOGNAME"); printf("$LOGNAME=%s ", pLogName); // 插入新的环境变量 int ret; ret = putenv("HC=huangcheng"); if (ret != 0) { printf("putenv Error!" ); exit(-1); } pValue = getenv("HC"); printf("echo $HC=%s ", pValue); // 改变环境变量的值 ret = setenv("HC", "ctthuangcheng", 1); if (ret != 0) { printf("setenv Error!" ); exit(-1); } pValue = getenv("HC"); printf("echo $HC=%s ", pValue); // 删除环境变量 ret = unsetenv("HC"); if (ret != 0) { printf("unsetenv Error!" ); exit(-1); } pValue = getenv("HC"); printf("echo $HC=%s ", pValue); return 0; }
运行结果:
huangcheng@ubuntu:~$ ./a.out $HOME = /home/huangcheng $PWD=/home/huangcheng $LOGNAME=huangcheng echo $HC=huangcheng echo $HC=ctthuangcheng echo $HC=(null)