C/C++ 获取系统环境变量的方法!看完让你灵光一闪!

C/C++ 获取系统环境变量,其实是很简单的.

下面是一个单纯c语言获取的方式.

#include #include intmain(void)

{char*pathvar;

pathvar = getenv("PATH");

printf("pathvar=%s",pathvar);return0;

}

注: getenv() 是在stdlib中定义的,当然我们也可以在c++中,通过 #include<cstdlib> std:getenv()来使用它.若考虑可移植性,这两种方式都是可以优先使用的.

在windows环境下,我们也可以用WINAPI GetEnvironmentVariable() 来获取某个环境变量的值.

我们还有两种方式,可以列出当前设定的所有的环境变量的值.

如果你也想成为一名程序员那就关注我,不管是任何基础小伙伴,学习从来不是一个人的事情,工作需要学习C/C++或者感兴趣、为了入行、转行学习C/C++的伙伴可以一起学习!每晚都会有大牛讲解技术!快来和志同道合的小伙伴一起加油学习、一起成长进步吧!C/C++编程直播学习Q群720168573!学习资料、视频教程等,助你早日成为一名技术大牛!
 

1. envp


#include#includeintmain(intargc,char**argv,char** envp)

{

  char** env;

  for(env = envp; *env !=0; env++)

  {

    char* thisEnv = *env;

    printf("%s\n", thisEnv);

  }

}

注:这里需要注明的是,关于envp,如果考虑程序的可移植性的话,最好不要用envp用为main函数的第三个参数.

因为他是一种常见的unix系列系统的扩展. envp 是一个以null结尾的字符串数组,在MicrosoftC++中可以使用.如果你用的是wmain.可以你wchar_t 代替char来标识它.

虽然是一种常见的扩展,但并不是所有的系统中都有这种扩展,所以在考虑程序的可移植性的时候最好不要使用他.

因为在 C99 Standard 中只有两种合法的Cmian函数定义

a)int main(void)

and

b)int main(int argc, char **argv)or equivalent

and it allows implementations to define other formats (which can allow a 3rd argument)

c) or in some other implementation-defined manner.

2.extern char **environ


#include #include externchar**environ;intmain(intargc,char*argv[])

{

        char**p = environ;

        while(*p != NULL)

        {

                printf("%s (%p)\n", *p, *p);

                *p++;

        }

        return0;

}

这里同样需要说明的是,extern char **environ.在Posix中是在中声明的。

 他也是unixsm的,并且在windows中是没有定义的,所以但是在实践中,考虑最好还是使用getenv()函数来取得相关的环境变量。

感谢观看!

学习推荐路线:

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值