0
此代码是正确workng对我来说:调用WideCharToMultiByte STD模拟UTF8
std::wstring wmsg_text = L"キエオイウカクケコサシスセソタチツテア";
char buffer[100] = { 0 };
WideCharToMultiByte(CP_UTF8, 0, wmsg_text.data(), wmsg_text.size(), buffer, sizeof(buffer)-1, NULL, NULL);
我不知道这个代码的跨平台的模拟。我期待std::wcstombs
与std::codecvt_utf8
,但不能猜测如何通过正确的方式来使用它。
对于'codecvt_utf8'的使用看看在http://计算器。 com/a/12903901/2131459 - 但请注意,评论说这种方法不能可靠地工作! – Chris
源文件中的嵌入unicode不能保证能正常工作,这取决于你的编译器。 –