cout也能输出宽字符例如中文,为什么还要用wcout?
答案:2 悬赏:20 手机版
解决时间 2021-02-25 13:33
- 提问者网友:無理詩人
- 2021-02-25 09:50
cout也能输出宽字符例如中文,为什么还要用wcout?
最佳答案
- 五星知识达人网友:神鬼未生
- 2021-02-25 10:14
cout 对应char型字符串, wcout对应 wchar_t型字符串, 用哪个取决于你要输出的字符串是什么类型追问既然中文是属于宽字符也就是wchar_t型,为什么又能以char类型直接输出?
C++不是很严格控制数据类型的么?
那么中文到底属于char类型还是wchar_t类型?追答中文字符串可以是wchar_t类型,也可以是char类型, 没人说中文就一定是宽字符, 这个跟编码方式有关系
C++不是很严格控制数据类型的么?
那么中文到底属于char类型还是wchar_t类型?追答中文字符串可以是wchar_t类型,也可以是char类型, 没人说中文就一定是宽字符, 这个跟编码方式有关系
全部回答
- 1楼网友:你哪知我潦倒为你
- 2021-02-25 11:44
举个例子说的直白些吧:
假设要输出字符串“加油中国2008”。
如果用cout,那么该字符串占用的是2+2+2+2+1+1+1+1=12个字节。因为根据ANSI编码方式,汉字是占用两个字节的,而数字(字母)只占用一个字节。
如果用wcout,那么就是16个字节,这里采用的是Unicode编码方式,即,宽字符,所有字符都占用两个字节。
假设要输出字符串“加油中国2008”。
如果用cout,那么该字符串占用的是2+2+2+2+1+1+1+1=12个字节。因为根据ANSI编码方式,汉字是占用两个字节的,而数字(字母)只占用一个字节。
如果用wcout,那么就是16个字节,这里采用的是Unicode编码方式,即,宽字符,所有字符都占用两个字节。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯