UI正在打印中文符号而不是有效文本

时间:2019-05-27 09:29:48

标签: c++ user-interface pointers

我正在尝试使用C ++在我的窗口上打印一些文本。但是,它显示的是奇怪的中文符号。

Example

wstring s2ws(const std::string& s);
wstring tempConsole = s2ws(console);
string* consolePointer = NULL;
string console = "Unable to open file";
consolePointer = &console;//malloc(sizeof(string));
tempConsole = s2ws(*consolePointer);
LPCWSTR result = tempConsole.c_str();
TextOut(hdc, 10, 1580, TEXT(result), 19);
InvalidateRect(hWnd, NULL, TRUE);
wstring s2ws(const std::string& s)
{
    int len;
    int slength = (int)s.length() + 1;
    len = MultiByteToWideChar(CP_ACP, 0, s.c_str(), slength, 0, 0);
    wchar_t* buf = new wchar_t[len];
    MultiByteToWideChar(CP_ACP, 0, s.c_str(), slength, buf, len);
    wstring r(buf);
    delete[] buf;
    return r;
}

我希望输出“无法打开文件”,但有奇怪的中文符号。

0 个答案:

没有答案