ExpandEnvironmentStrings 函數是一個Windows API函數,用來展開包含環境變量的字符串。
函數原型為:
DWORD WINAPI ExpandEnvironmentStringsA(
LPCSTR lpSrc,
LPSTR lpDst,
DWORD nSize
);
參數說明:
lpSrc:要展開的包含環境變量的字符串lpDst:展開后的字符串存放的緩沖區nSize:緩沖區的大小,以字節為單位返回值為展開后的字符串的長度,不包含null字符。如果函數失敗,則返回0。
示例代碼如下:
#include <Windows.h>
#include <iostream>
int main()
{
char src[] = "The system directory is %SystemRoot%\\System32";
char dst[256] = { 0 };
DWORD result = ExpandEnvironmentStringsA(src, dst, sizeof(dst));
if (result == 0)
{
std::cout << "ExpandEnvironmentStringsA failed with error code: " << GetLastError() << std::endl;
return 1;
}
std::cout << "Expanded string: " << dst << std::endl;
return 0;
}
運行結果為:
Expanded string: The system directory is C:\Windows\System32
以上代碼將展開包含環境變量的字符串,并將結果存儲在dst緩沖區中。展開后的字符串可以通過dst獲取。