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")
orgetenv("=C:")
は NULL を返します。
この「機能」の適切なドキュメントを提供できますか?たとえばgetenv()
、そのような文字列を無視し、そのような値をどのように処理する必要がありますか?