我使用GetEnvironmentString()
來獲取程序的環境變量。這些奇怪的環境變量是什麼?
每個程序都有這樣的結果在第一:
=::=::\
我不知道這是什麼意思?
下面是代碼:
LPWCH lpEnvString=GetEnvironmentStringsW();
LPWSTR lpszVariable=(LPWSTR)lpEnvString;
while (*lpszVariable)
{
wprintf(L"%s\n",lpszVariable);
lpszVariable+=wcslen(lpszVariable)+1;
}
FreeEnvironmentStringsW(lpEnvString);
此外,如果我們開始上市這樣的變量,我們將看到的東西,如:
=::=::\
=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
...
在另一方面,getenv("=ExitCode")
或getenv("=C:")
返回null。
您能否提供此「功能」的正確文檔,例如getenv()
getenv()
會忽略此類字符串以及應該如何處理這些值?
向我們顯示代碼。 – Nick
@Nick所有你需要做的就是調用'GetEnvironmentStrings()' –
我想我想檢查他在做什麼與返回值,以獲得提供的字符串。另外 - 你假設我有一臺Windows PC :) – Nick