3.环境表

1.环境表的概念和使用
1.1 基本概念
    环境表主要是指环境变量的集合,每个进程中都有一个环境表,用于记录与当前进程相关的环境变量信息
    环境表采用字符指针数组的形式进行存储,然后使用全局变量char** envrion来记录环境表的首地址,使用NULL表示环境表的末尾


1.2 相关函数
(1)getenv函数
   #include <stdlib.h> 
   char *getenv(const char *name);
函数功能:
   主要用于根据参数name指定的环境变量名进行查找,如果查找成功则返回对应的环境变量值,否则返回NULL


(2)setenv函数
   #include <stdlib.h>
   int setenv(const char *name, const char *value, int overwrite);
第一个参数:环境变量名
第二个参数:环境变量值
第三个参数:是否修改的标志
    非0 - 表示允许修改环境变量的值
     0  - 表示不允许修改环境变量的值
返回值:成功返回0,失败返回-1
函数功能:
    主要用于 修改/增加 环境变量,如果参数name指定的环境变量不存在则增加,如果存在则修改


(3)putenv函数
   #include <stdlib.h>
   int putenv(char *string);
函数功能:
   主要用于修改/增加环境变量,其中参数string的格式如下:name=value,成功返回0,失败返回非0


(4)unsetenv函数
   int unsetenv(const char *name);
函数功能:
   主要用于将参数name指定的环境变量从环境表中删除,如果删除一个不存在的环境变量时,则函数调用依然是成功的,只是环境表没有改变


(5)clearenv函数
   #include <stdlib.h>
   int clearenv(void);
函数功能:
   主要用于将整个环境表全部清空


1.3 main函数的原型
   int main(int argc,char* argv[],char* envp[])
第一个参数:命令行参数的个数
第二个参数:指针数组,存储命令行参数的地址
第三个参数:指针数组,环境表的首地址


例如:
(1)实现拷贝文件a.txt内容到文件b.txt中
   a.打开文件a.txt和b.txt
   b.读取a.txt中的内容写入到b.txt中
   c.关闭文件a.txt和b.txt
(2)编写通用的拷贝程序
   a.打开文件argv[1]和argv[2]
   b.读取文件argv[1]中的内容写入到文件argv[2]中
   c.关闭文件argv[1]和argv[2]
如:
   a.out a.txt b.txt 
  => 实现文件a.txt 到 b.txt的拷贝
   a.out b.txt c.txt
  => 实现文件b.txt 到 c.txt的拷贝
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值