函数简介篇——环境变量函数

说明
  本文章旨在总结备份、方便以后查询,由于是个人总结,如有不对,欢迎指正;另外,内容大部分来自网络、书籍、和各类手册,如若侵权请告知,马上删帖致歉。
  QQ 群 号:513683159 【相互学习】
内容来源
  《Unix环境高级编程》、man 手册

目录:

    • 一、概念认识
    • 二、函数简介
        • ① getenv()——获取一个环境变量
        • ② putenv() —— 增加或改变环境变量
        • ③ setenv()——更改或添加环境变量
        • ④ unsetenv()——删除环境变量
    • 三、环境变量的引用

一、概念认识

  入门系列:基础认知——环境变量
  main函数的第三个参数:环境表
  ①环境字符串的形式:name = value
  ②环境变量:extern char **environ;
  

二、函数简介

① getenv()——获取一个环境变量

  1.函数功能:在环境列表中搜索name环境变量名,并返回一个指向name = value字符串中的value字符串的指针。

项目 说明
函数原型 char *getenv(const char *name);
头文件 stdlib.h
参数说明 name:环境变量名
返回值 返回一个指向环境中的值的指针,
如果没有匹配,则返回NULL。
注意
② putenv() —— 增加或改变环境变量

  1.函数功能:取形式为name = value的字符串,将其放在环境表中,若name已存在,则删除原来的定义。

项目 说明
函数原型 int putenv(char *string);
头文件 stdlib.h
参数说明 string:字符串
形式是`name=value`
返回值 成功返回0,
失败返回-1,并设置errno
注意 ①若环境中还不存在name,则将字符串添加到环境中
②若环境中name存在,那么环境中name的值将更改为value
字符串所指向的字符串成为环境的一部分,因此改变字符串将改变环境。
③ setenv()——更改或添加环境变量

  1.函数功能
    若name不存在的话,将变量名和值value添加到name环境中,
    若name在环境中存在,
      若overwrite为非零值,它的值将被更改为value
      若overwrite0,那么name的值不会改变(setenv()返回一个成功状态)。

项目 说明
函数原型 int setenv(const char *name, const char *value, int overwrite);
头文件 stdlib.h
参数说明 name:环境变量名
value:环境变量值
overwrite:标记
返回值 成功返回0,
失败返回-1,并设置errno
注意
④ unsetenv()——删除环境变量

  1.函数功能:从环境中删除变量名。如果环境中不存在name,则函数成功,且环境没有改变。

项目 说明
函数原型 int unsetenv(const char *name);
头文件 stdlib.h
参数说明 name:环境变量名
返回值 成功返回0,
失败返回-1,并设置errno
注意

三、环境变量的引用

#include

int main(int argc,char*argv[])
{
        char **ptr;
        extern char **environ;

        for(ptr = environ ; *ptr != 0 ; ptr++)
        {
                printf("%s\n",*ptr);
        }
        return 0;
}

你可能感兴趣的:(嵌入式,函数简介,linux,运维,服务器)