【发布时间】:2016-08-10 07:25:36
【问题描述】:
据我了解,c++11 允许通过 wstring_convert 在 string 和 wstring 之间轻松使用转换,并且应该很简单(省略包含):
int main() {
std::wstring_convert< std::codecvt_utf8<wchar_t> > converter;
std::string gg = u8"prova";
std::wcout << converter.from_bytes(gg.data()) << std::endl;
}
输出是一个空字符串。
我也尝试了 std::codecvt_utf8_utf16,但没有成功。
我在stackoverflow中查找并尝试了许多建议,例如C++ Convert string (or char*) to wstring (or wchar_t*),但没有任何结果。
有人可以帮我吗?
我在 Windows 上,我通过 mingw 和 msys2 使用 gcc (g++) v 5.3.0。
编辑:使用 Microsoft Visual Studio 2013 编译相同的代码会产生一个可行的解决方案。
【问题讨论】: