`
阿尔萨斯
  • 浏览: 4179212 次
社区版块
存档分类
最新评论

在console中 使用C Runtime 和 STL 显示 Unicode中文

 
阅读更多
<iframe align="center" marginwidth="0" marginheight="0" src="http://www.zealware.com/csdnblog.html" frameborder="0" width="728" scrolling="no" height="90"></iframe>

这篇文章应该是[netsin]的成果,我勤快,记下来。
注:wprintf是C的标准库函数,但wcout不是C++的标准成员,C++中的L”……”是宽字符,却未必是unicode字符,这与编译器实现相关。
本文中的代码执行环境是 windows xp professional 英文版,编译器是 VS2005RTM。

// C
#include <stdio.h><br>#include <locale.h><br>int main( void )<br>{<br> setlocale( LC_ALL, "Chinese-simplified" );<br> //setlocale( LC_ALL, "chs" );<br> //setlocale( LC_ALL, "ZHI" );<br> //setlocale( LC_ALL, ".936" );<br> wprintf( L"中国" );</locale.h></stdio.h>

return 0;
}

// C++
#include <iostream><br>#include <locale><br>using namespace std;<br>int main( void )<br>{<br> locale loc( "Chinese-simplified" );<br> //locale loc( "chs" );<br> //locale loc( "ZHI" );<br> //locale loc( ".936" );<br> wcout.imbue( loc );<br> std::wcout <br> return 0;<br>}<br><br>说明:别混合使用 setlocale 和 std::locale 。<br><br>遗留问题:在中文xp系统下是否也可行,因为netsin似乎说过有问题,等netsin明天来详细说明。</locale></iostream>




分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics