ExpandEnvironmentStrings 函數(shù)是一個(gè)Windows API函數(shù),用來(lái)展開(kāi)包含環(huán)境變量的字符串。
函數(shù)原型為:
DWORD WINAPI ExpandEnvironmentStringsA(
LPCSTR lpSrc,
LPSTR lpDst,
DWORD nSize
);
參數(shù)說(shuō)明:
lpSrc
:要展開(kāi)的包含環(huán)境變量的字符串lpDst
:展開(kāi)后的字符串存放的緩沖區(qū)nSize
:緩沖區(qū)的大小,以字節(jié)為單位返回值為展開(kāi)后的字符串的長(zhǎng)度,不包含null字符。如果函數(shù)失敗,則返回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;
}
運(yùn)行結(jié)果為:
Expanded string: The system directory is C:\Windows\System32
以上代碼將展開(kāi)包含環(huán)境變量的字符串,并將結(jié)果存儲(chǔ)在dst
緩沖區(qū)中。展開(kāi)后的字符串可以通過(guò)dst
獲取。