C++ 检索用户路径环境变量

C++ 检索用户路径环境变量,c++,windows,environment-variables,env,getenv,C++,Windows,Environment Variables,Env,Getenv,我尝试在Windows上检索path环境变量。因此,我试过了 #include <iostream> #include <cstdlib> using namespace std; int main() { char* path = getenv("Path"); cout << "current path is:" << path << endl; cin.get(); // program shall be clos

我尝试在Windows上检索path环境变量。因此,我试过了

#include <iostream>
#include <cstdlib>

using namespace std;

int main()
{
  char* path = getenv("Path");
  cout << "current path is:" << path << endl;
  cin.get(); // program shall be closed when it's finished
}
#包括
#包括
使用名称空间std;
int main()
{
char*path=getenv(“路径”);
cout
getenv(“PATH”);
它将同时检索系统路径和用户路径

您需要使用Windows注册表机制分别查找用户和系统路径。要访问它们,请从注册表中的两个不同位置读取
path
的值:

用户变量:

HKEY_CURRENT_USER\Environment
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
系统变量:

HKEY_CURRENT_USER\Environment
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
getenv(“PATH”);
它将同时检索系统路径和用户路径

您需要使用Windows注册表机制分别查找用户和系统路径。要访问它们,请从注册表中的两个不同位置读取
path
的值:

用户变量:

HKEY_CURRENT_USER\Environment
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
系统变量:

HKEY_CURRENT_USER\Environment
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment

谢谢!还有一个问题(我很好奇:):如果我通过
setenv
设置路径,会发生什么情况。两个路径都会被更改吗?问得好,通过
setenv
设置变量不会将它们永久保存在系统中,并且它们中的哪一个被更改也无关紧要。谢谢!还有一个问题(我很好奇:)):如果我通过
setenv
设置路径,会发生什么情况。两个路径都会被更改吗?好问题,通过
setenv
设置变量不会将它们永久保存在系统中,并且它们中的哪一个会被更改并不重要。