#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
char* pValue;
pValue = getenv("HOME"); // 起始目录(主目录)
printf("$HOME = %s\n", 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\n", pCurPath);
// 打印登录名
char* pLogName;
pLogName = getenv("LOGNAME");
printf("$LOGNAME=%s\n", pLogName);
// 插入新的环境变量
int ret;
ret = putenv("HC=huangcheng");
if (ret != 0)
{
printf("putenv Error!" );
exit(-1);
}
pValue = getenv("HC");
printf("echo $HC=%s\n", pValue);
// 改变环境变量的值
ret = setenv("HC", "ctthuangcheng", 1);
if (ret != 0)
{
printf("setenv Error!" );
exit(-1);
}
pValue = getenv("HC");
printf("echo $HC=%s\n", pValue);
// 删除环境变量
ret = unsetenv("HC");
if (ret != 0)
{
printf("unsetenv Error!" );
exit(-1);
}
pValue = getenv("HC");
printf("echo $HC=%s\n", pValue); return 0;
}

运行结果:

huangcheng@ubuntu:~$ ./a.out
$HOME = /home/huangcheng
$PWD=/home/huangcheng
$LOGNAME=huangcheng
echo $HC=huangcheng
echo $HC=ctthuangcheng
echo $HC=(null)

UNIX环境高级编程——环境变量表读取/添加/修改/删除的更多相关文章

  1. Oracle的学习二:表管理(数据类型、创建/修改表、添加/修改/删除数据、数据查询)

    1.Oracle表的管理 表名和列名的命名规则: 必须以字母开头: 长度不能超过30个字符: 不能使用oracle的保留字: 只能使用如下字符:A-Z, a-z, 0-9, $, # 等. Oracl ...

  2. UNIX环境高级编程-环境配置

    环境配置步骤如下. 1.  下载源文件:http://www.apuebook.com/src.tar.gz. 2.  复制src.tar.gz文件到/home/me/mydir/unixl/目录(自 ...

  3. mysql (mariadb)表结构添加修改删除方法总结

    1,添加表字段 alter table table1 add ptel varchar(100) not Null; alter table table1 add id int unsigned no ...

  4. (二) 一起学 Unix 环境高级编程 (APUE) 之 文件 IO

    . . . . . 目录 (一) 一起学 Unix 环境高级编程 (APUE) 之 标准IO (二) 一起学 Unix 环境高级编程 (APUE) 之 文件 IO (三) 一起学 Unix 环境高级编 ...

  5. (三) 一起学 Unix 环境高级编程 (APUE) 之 文件和目录

    . . . . . 目录 (一) 一起学 Unix 环境高级编程 (APUE) 之 标准IO (二) 一起学 Unix 环境高级编程 (APUE) 之 文件 IO (三) 一起学 Unix 环境高级编 ...

  6. (五) 一起学 Unix 环境高级编程 (APUE) 之 进程环境

    . . . . . 目录 (一) 一起学 Unix 环境高级编程 (APUE) 之 标准IO (二) 一起学 Unix 环境高级编程 (APUE) 之 文件 IO (三) 一起学 Unix 环境高级编 ...

  7. (八) 一起学 Unix 环境高级编程 (APUE) 之 信号

    . . . . . 目录 (一) 一起学 Unix 环境高级编程 (APUE) 之 标准IO (二) 一起学 Unix 环境高级编程 (APUE) 之 文件 IO (三) 一起学 Unix 环境高级编 ...

  8. (十一) 一起学 Unix 环境高级编程 (APUE) 之 高级 IO

    . . . . . 目录 (一) 一起学 Unix 环境高级编程 (APUE) 之 标准IO (二) 一起学 Unix 环境高级编程 (APUE) 之 文件 IO (三) 一起学 Unix 环境高级编 ...

  9. 《UNIX环境高级编程(第3版)》

    <UNIX环境高级编程(第3版)> 基本信息 原书名:Advanced Programming in the UNIX Environment (3rd Edition) (Addison ...

随机推荐

  1. 洛谷P3233 [HNOI2014]世界树

    虚树= = #include<cstdio> #include<cstdlib> #include<algorithm> #include<cstring&g ...

  2. ●BZOJ 2393 Cirno的完美算数教室

    题链: http://www.lydsy.com/JudgeOnline/problem.php?id=2393 题解: 容斥原理,暴力搜索,剪枝...和 [Scoi2010 幸运数字] 一样的(只是 ...

  3. VMware下安装Linux(CentOs6.3)操作系统

    VMware 10.0.2 CentOs 6.3 VMware的安装以及CentOs的下载比较简单,这里不再描述 1.创建新的虚拟机 2.选择典型 3.选择稍后安装操作系统 4.选择如图所示 5.虚拟 ...

  4. Android Activity的任务栈和四大启动模式

    在安卓系统中默认每次启动一个Activity时,系统会创建一个实例,并按照先进后出的原则放入任务栈中,当我们按back键时,就会有一个activity从任务栈顶移除,重复下去,直到任务栈为空,系统就会 ...

  5. Spring 自带的定时任务Scheduled

    1.注解@Scheduled 可以作为一个触发源添加到一个方法中,例如,以下的方法将以一个固定延迟时间5秒钟调用一次执行,这个周期是以上一个调用任务的完成时间为基准,在上一个任务完成之后,5s后再次执 ...

  6. WEB中间件--Jboss未授权访问,

    1,Jboss未授权访问部署木马 发现存在Jboss默认页面,点进控制页 点击 Jboss.deployment 进入应用部署页面 也可以直接输入此URL进入 http://www.ctfswiki. ...

  7. Flexible DEMO 实现手淘H5页面的终端适配

    <!DOCTYPE html> <html> <head> <title>淘宝flexiblejs</title> <meta cha ...

  8. Ubuntu14.04和Windows双系统时无法挂载磁盘解决方法

    基本状况:我电脑Ubuntu14.04 和 Windows10 双系统,一个固态磁盘,一个机械磁盘.Ubuntu14.04装固态里面了,固态里没有Windows内容. 问题:Ubuntu14.04系统 ...

  9. 72. Edit Distance(困难,确实挺难的,但很经典,双序列DP问题)

    Given two words word1 and word2, find the minimum number of steps required to convert word1 to word2 ...

  10. 使用 OpenCV 与 Face++ 人脸识别

    今天看到一篇文章<使用 OpenCV 与 Face++ 实现人脸解锁>,感觉挺好玩,就照着作者的讲解,写了一下.详细内容还请看原作者文章. # *^_^* coding:utf-8 *^_ ...