【发布时间】:2019-12-02 11:31:47
【问题描述】:
我有一个具有不同路径的字符串(std::wstring 变量)。我正在将该字符串转换为 WCHAR,以便我可以对字符串进行标记,并且我可以使用 ExpandEnvironmentStrings 解析路径(以 % 符号开头)。
执行此操作时出现以下错误: 错误 C2665 'wcstok':2 个重载都不能转换所有参数类型。
这是因为我们在 wcstok 中传递了 const WCHAR* 变量。
谁能帮助我如何在 wcstok 中使用 const WCHAR* 变量? 下面是代码 sn-p:
std::wstring wstrFileLocation;
std::vector<std::wstring> pathsVector;
const WCHAR * wpszProcToSearch = wstrFileLocation.c_str();
TCHAR szOut[MAX_PATH];
const wchar_t delim[] = L".xml";
wchar_t* ptr;
wchar_t *token = wcstok(wpszProcToSearch, delim, &ptr);
while (token != NULL)
{
ExpandEnvironmentStrings(token, szOut, ARRAYSIZE(szOut));
pathsVector.push_back(szOut);
}
【问题讨论】: