utf-8,std :: wstring& ncurses的

时间:2018-05-01 15:03:44

标签: c++ utf-8 ncurses

为了好玩,我正在用ncursesw库用c ++编写一个聊天客户端。 它接收具有特殊字符的UTF-8编码字符串。 现在,如果我这样做:

const char *temp = "><\n";
wprintw(win -> win, temp);

然后它显示正常。

如果我先将其转换为wstring(进行进一步的中间处理),然后使用ncursesw的宽字符功能打印它,那么它会显示一个空格:

#include <codecvt>
#include <locale>
...
const char *temp = u8"><\n";
std::wstring_convert<std::codecvt_utf8_utf16<wchar_t>> converter;
std::wstring wstr = converter.from_bytes(temp);
waddwstr(win, wstr.c_str());

我在这里做错了什么?

谢谢!

情节变粗:某些角色会出现,就像U + 00E4(a“)一样。 我希望它们既可以出现在两者中,也可以出现在两种打印声明中。

0 个答案:

没有答案