我GetEnvironmentString()用来获取程序的环境变量.
每个程序都有这样的结果:
=::=::\
Run Code Online (Sandbox Code Playgroud)
我不知道这是什么意思?
这是代码:
LPWCH lpEnvString=GetEnvironmentStringsW();
LPWSTR lpszVariable=(LPWSTR)lpEnvString;
while (*lpszVariable)
{
wprintf(L"%s\n",lpszVariable);
lpszVariable+=wcslen(lpszVariable)+1;
}
FreeEnvironmentStringsW(lpEnvString);
Run Code Online (Sandbox Code Playgroud)
此外,如果我们开始列出这些变量,我们会看到如下内容:
=::=::\
=C:=C:\Users\username\value
=ExitCode=00000001
ALLUSERSPROFILE=C:\ProgramData
APPDATA=C:\Users\artik\AppData\Roaming
CommonProgramFiles=C:\Program Files (x86)\Common Files
CommonProgramFiles(x86)=C:\Program Files (x86)\Common Files
CommonProgramW6432=C:\Program Files\Common Files
...
Run Code Online (Sandbox Code Playgroud)
另一方面,getenv("=ExitCode")或getenv("=C:")返回NULL.
你能否提供这个"功能"的正确文档,例如getenv()忽略这样的字符串以及如何处理这些值?