WideCharToMultiByte不转换俄语

时间:2014-02-04 05:32:52

标签: c++ c

我正在尝试使用以下代码将俄语字符转换为std字符串。但是函数utf8_encode正在回收垃圾。我使用了stackoverflow上引用的问题之一的utf8_encode

int _tmain(int argc, _TCHAR* argv[])
{
    std::wstring ws(L"процессов");
    std::string str = utf8_encode(ws);

    return 0;
}


std::string utf8_encode(const std::wstring &wstr)
{
    int size_needed = WideCharToMultiByte(CP_UTF8, 0, &wstr[0], (int)wstr.size(), NULL, 0, NULL, NULL);
    std::string strTo( size_needed, 0 );
    WideCharToMultiByte                  (CP_UTF8, 0, &wstr[0], (int)wstr.size(), &strTo[0], size_needed, NULL, NULL);
    return strTo;
}

0 个答案:

没有答案