[C++基础]007_char、wchar_t、wcout、setlocale()

 1 #include<iostream>
 2 using namespace std;
 3 
 4 int main(){
 5     char ch1 = 'A';
 6     cout<<"ch1 = "<<ch1<<endl;
 7 
 8     char ch2 = '';
 9     cout<<"ch2 = "<<ch2<<endl;
10 
11     wchar_t ch3 = '';
12     cout<<"ch3 = "<<ch3<<endl;
13 
14     wchar_t ch4[] = L"";
15     cout<<"ch4 = "<<ch4<<endl;
16 
17     system("pause");
18     return 0;
19 }

上面的代码会输出什么呢?自己看看再看下面的答案:

ch1 = A
ch2 =
ch3 = 54992
ch4 = 0043F944
请按任意键继续. . .

我去!为什么输不了中文呢??

那要怎么输出呢!看下面的代码吧!

 1 #include<iostream>
 2 #include<locale>
 3 using namespace std;
 4 
 5 int main(){
 6     char ch1 = 'A';
 7     cout<<"ch1 = "<<ch1<<endl;
 8 
 9     char ch2 = '';
10     cout<<"ch2 = "<<ch2<<endl;
11 
12     wchar_t ch3 = '';
13     cout<<"ch3 = "<<ch3<<endl;
14 
15     setlocale(LC_ALL, "chs");
16     wchar_t ch4[] = L"";
17     wcout<<"ch4 = "<<ch4<<endl;
18 
19     system("pause");
20     return 0;
21 }

注意,我在最后一段输出里面加上了一句设置区域化的代码,代码被设置在中文环境中。同时,我用了wcout来输出中文。

上面的程序输出如下所示:

1 ch1 = A
2 ch2 =
3 ch3 = 54992
4 ch4 =5 请按任意键继续. . .

没有java和c#方便啊!不过挺好玩的,呵呵!

总结:

处理双字节字符方法如下

1. 设置区域,用setlocale()方法

2. 定义字符变量,方法见代码

3. 用wcout输出

转载于:https://www.cnblogs.com/alephsoul-alephsoul/archive/2012/10/09/2715992.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值