Jiang's C++ Space

创作,也是一种学习的过程。

   :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
printf可能是很多人接触的第一个C Lib函数,其宽字符版本为wprintf,我很早以前就发现了wprintf不能正常打印汉字,现在才知道应该怎么弄,实在惭愧,直接上代码:
#include <locale.h>

int _tmain(int argc, _TCHAR* argv[])
{
    setlocale (LC_ALL, 
"");
    WCHAR 
*pStr = L"abc中文";
    wprintf(L
"%s\n", pStr);
    
return 0;
}
解决方法如上,很简单,但具体原因说起来还蛮复杂的,感兴趣的话可以google一下。
posted on 2011-02-12 14:00 Jiang Guogang 阅读(1196) 评论(2)  编辑 收藏 引用 所属分类: Knowledge

评论

# re: 让wprintf正常打印汉字 2011-06-01 10:25 博主
C++方式:
std::wcout.imbue(std::locale("chs"));  回复  更多评论
  

# re: 让wprintf正常打印汉字 2011-07-28 22:36 matrix陈
区域设置问题,以前我也遇到过。
楼主正文中的用法,只限于中文操作系统吧,呵呵  回复  更多评论
  


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理