为什么我不能从char *构建一个wstring *

问题描述 投票:0回答:1

据此,我用此代码填充char*

char* pathAppData = nullptr;
size_t sz = 0;
_dupenv_s(&pathAppData, &sz, "APPDATA");

将来我可以轻松地用此代码构造一个string,并在将来append构造此string

std::string sPathAppData(pathAppData);
sPathAppData.append("\\MyApplication");

但是我无法根据此代码创建wstring。为什么使用wstring这么复杂?我对所有这些类型的东西都疯了。

std::wstring wPathAppData(pathAppData); // Impossible
c++ string visual-c++ type-conversion wstring
1个回答
0
投票

您必须使用迭代器进行复制。这就是您的操作方法。

char* pathAppData = nullptr;
size_t sz = 0;
_dupenv_s(&pathAppData, &sz, "APPDATA");
std::string sPathAppData(pathAppData);
sPathAppData.append("\\MyApplication");

std::wstring wPathAppData(begin(sPathAppData), end(sPathAppData));
wcout << wPathAppData << endl;
© www.soinside.com 2019 - 2024. All rights reserved.