C++官网参考链接:https://cplusplus.com/reference/cstdlib/getenv/
函数
<cstdlib>
getenv
char* getenv (const char* name);
获得环境字符串
获取一个C字符串,其中包含name指定为实参的环境变量的值。如果所请求的变量不属于环境列表,则函数返回一个空指针。
返回的指针指向内部内存块,它的内容或有效性可以通过对getenv的进一步调用而改变(但不能通过其他库函数)。
由此函数返回的指针指向的字符串不应该被程序修改。一些系统和库实现可能允许使用特定的函数(putenv,setenv…)来更改环境变量,但这样的功能是不可移植的。
形参
name
包含被请求变量名称的C字符串。
根据平台的不同,这可能区分大小写。
返回值
包含所请求的环境变量值的C字符串,如果不存在这样的环境变量,则返回空指针。
用例
/* getenv example: getting path */
#include <stdio.h> /* printf */
#include <stdlib.h> /* getenv */
int main ()
{
char* pPath;
pPath = getenv ("PATH");
if (pPath!=NULL)
printf ("The current path is: %s",pPath);
return 0;
}
上面的示例打印PATH环境变量(如果宿主环境中存在这样的变量)。
数据竞争
同时调用此函数是安全的,前提是环境保持不变。
异常(C++)
无抛出保证:此函数从不抛出异常。