高手帮忙一下, 怎样才能用wcout << 输出中文字符串?

flaring 2005-11-22 09:08:07
一个简单的问题, 建立了一个unicode字符串

wstring s = _T("很好");
wcout << s << endl;

为什么没有输出? 高手帮帮忙!!
...全文
514 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
贵子潘 2005-11-22
  • 打赏
  • 举报
回复
加上这个:wcout.imbue(locale("chs"));
即:
wstring s = _T("很好");
wcout.imbue(locale("chs"));
wcout << s << endl;
贵子潘 2005-11-22
  • 打赏
  • 举报
回复
哦(windows)
typedef basic_string<wchar_t> wstring;明白了
贵子潘 2005-11-22
  • 打赏
  • 举报
回复
wstring s = _T("很好");改成wstring s = L"很好";试试

不过wstring 是什么呢?
flaring 2005-11-22
  • 打赏
  • 举报
回复
自己顶一下, 没人清楚吗?
flaring 2005-11-22
  • 打赏
  • 举报
回复
网页上面显示的错误了, 上面那个字符串应该同时包括中文跟法文的
flaring 2005-11-22
  • 打赏
  • 举报
回复
刚刚用了一下, 发现用了wcout.imbue(locale("chs"));的确可以正确的输出中文了.

但现在的问题是, 我要输出大量的unicode字符串, 其中不只有中文, 还有法文等其他文字, 如果设置了wcout.imbue(locale("chs")); 法文等文字就不能正确输出了, 难道要每次输出前先判断一下, 然后设置正确的locale?

如果一个字符串是这样的_T("Pequeña很好"), 应该怎么用wcout输出呢? 如果用printf应该怎么输出呢?
flaring 2005-11-22
  • 打赏
  • 举报
回复
to gzlyb(冰风):

哦? 试试看.

imbue 这个是什么意思, 从来没看到过嘛, 只要调用imbue一次, 还是每次输出前调用呢

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧