zoukankan      html  css  js  c++  java
  • 【C++】设置、改变、获取系统环境变量:setenv & putenv & getenv

    1. getenv:取得环境变量内容

    头文件- #include<stdlib.h>
    格式: char * getenv(const char *name);
    意义: getenv()用来取得参数name环境变量的内容。

    @param name为环境变量的名称,如果该变量存在则会返回指向该内容的指针。环境变量的格式为name=value。
    return 执行成功则返回指向该内容的指针,找不到符合的环境变量名称则返回NULL。

    【注】:相关函数 putenv,setenv,unsetenv;

    示例

    #include <stdlib.h> 
    mian() 
    { 
        char *p; 
        if((p = getenv(“USER”))) 
          printf(“USER=%s
    ”,p); 
    }

    执行后显示:    USER = root

    2. putenv:改变或增加环境变量 

    int putenv(const char * string);
    意义:putenv()用来改变或增加环境变量的内容。

    @param: string的格式为name=value,如果该环境变量原先存在,则变量内容会依参数string改变,否则此参数内容会成为新的环境变量。
    reutrn 执行成功则返回0,有错误发生则返回-1。
    错误代码:ENOMEM 内存不足,无法配置新的环境变量空间。

    示例:

    #include<stdlib.h> 
    main() 
    { 
      char *p; 
      if((p = getenv(“USER”))) 
          printf(“USER =%s
    ”,p); 
      putenv(“USER=test”); 
      printf(“USER=%s
    ”,getenv(“USER”)); 
    }

    执行 USER=root  USER=test

    3. setenv:改变或增加环境变量

     int setenv(const char *name,const char * value,int overwrite);

    name为环境变量名称字符串。
    value则为变量内容。

    overwrite用来决定是否要改变已存在的环境变量。如果overwrite不为0,则改变环境变量原有内容,原有内容会被改为参数value所指的变量内容。如果overwrite为0,且该环境变量已有内容,则参数value会被忽略。

    reuturn 执行成功则返回0,有错误发生时返回-1。

    错误代码 ENOMEM 内存不足,无法配置新的环境变量空间

    示例

    #include<stdlib.h>
    main()
    {
      char * p;
      if((p=getenv(“USER”)))
          printf(“USER =%s
    ”,p);
      setenv(“USER”,”test”,1);
      printf(“USER=%s
    ”,getenv(“USEr”));
      unsetenv(“USER”);
      printf(“USER=%s
    ”,getenv(“USER”));
    }

    结果:

    USER = root        USER = test          USER = (null)

  • 相关阅读:
    SharePoint 2013 中的SQL Server 安全
    SharePoint 2013 的HTML5特性之响应式布局
    SharePoint 2013 一些小技巧
    SharePoint 2013 排错之"Code blocks are not allowed in this file"
    SharePoint 2013 创建搜索中心及搜索设置
    SharePoint 2013 使用PowerShell创建State Service
    SharePoint 2013 内容部署功能简介
    SharePoint 使用PowerShell恢复误删的网站集
    SharePoint 自定义WebPart之间的连接
    linux之misc及使用misc创建字符设备
  • 原文地址:https://www.cnblogs.com/SchrodingerDoggy/p/14334114.html
Copyright © 2011-2022 走看看