跳到主要内容

C++ getenv() 函数

如果传递给 getenv() 函数的环境变量不在环境变量列表中,它将返回一个空指针。

getenv() 函数原型

char* getenv( const char* env_var );

这个函数定义在 <cstdlib> 头文件中。

getenv() 参数

  • env_var:包含环境变量名称的 C 字符串。

getenv() 返回值

getenv() 函数返回:

  • env_var 表示的环境变量的值。
  • 如果环境变量不在环境变量列表中,它将返回一个空指针。

示例:getenv() 函数如何工作?

#include <iostream>
#include <cstdlib>
using namespace std;

int main()
{
/* 可能的环境变量列表 */
const char *env_var[5] = {"PUBLIC","HOME","SESSIONNAME","LIB","SystemDrive"};
char *env_val[5];

for(int i=0; i<5; i++)
{
/* 如果存在,则获取环境变量的值 */
env_val[i] = getenv(env_var[i]);
if (env_val[i] != NULL)
cout << "变量 = " << env_var[i] << ", 值= " << env_val[i] << endl;
else
cout << env_var[i] << " 不存在" << endl;
}
}

当你运行程序时,可能的输出将是:

变量 = PUBLIC,= C:\Users\Public
HOME 不存在
变量 = SESSIONNAME,= Console
LIB 不存在
变量 = SystemDrive,= C:

注意: 输出会因设备不同而有所不同。为了查看所有环境变量及其值的列表:

对于 Windows: 在命令提示符上输入 set 并按回车键

对于 Linux: 在终端上输入 env 并按回车键