/*
(1)显示汉字宽字符,必须设置正确的区域代码。
显示ASCII的UNICODE,则不是必须的
(2)宽字符的printf格式控制中,使用%wc(字符) %ws(字符串)
(3)wcout 不是 C++标准要求提供的成员
(4)L"中国" 是宽字符"中国",但不是一定是UNICODE"中国",视编译器的实现而定。
*/
/* C 语言 */
#include <stdio.h>
#include <locale.h>
int main(void)
{
setlocale(LC_ALL,"chs"); /* 简体中文,另外有几种等价的方式 */
wprintf(L"中国");
return 0;
}
// C++
#include <iostream>
#include <locale>
using namespace std;
int main(void)
{
locale loc("chs");
wcout.imbue(loc);
wcout << L"中国" << endl;
return 0;
}
本文探讨了C/C++中宽字符与Unicode的处理方式,包括如何正确显示汉字宽字符、使用wprintf格式化输出以及wcout的使用方法。文中通过示例代码展示了设置区域代码的重要性及不同编译器实现宽字符的具体差异。
1162

被折叠的 条评论
为什么被折叠?



