提问人:Mario 提问时间:9/7/2021 最后编辑:Mario 更新时间:9/7/2021 访问量:223
使用 boost 或标准库扩展 Windows 环境变量
Expand Windows Environment variable with boost or standard library
问:
我想用现代 C++ 编码替换这个函数,也许使用 c++ 17 的 boost 或标准库,是否可以在不调用两次 ExpandEnvironmentStrings 的情况下做到这一点,或者至少摆脱 malloc?
void ReplaceEnviromentVariables(CString& str)
{
DWORD dwSize;
TCHAR *pBuff;
// Get buffer size
dwSize = ::ExpandEnvironmentStrings(str, NULL, 0);
if (dwSize == 0)
return; // error
pBuff = (TCHAR*)malloc(dwSize * sizeof(TCHAR));
if (::ExpandEnvironmentStrings(str, pBuff, dwSize))
str = pBuff;
free(pBuff);
}
答: 暂无答案
评论
ExpandEnvironmentStrings()
ExpandEnvironmentStrings()
malloc()
std::vector
std::(w)string
CString