hur.cn - 华软网

 热门搜索

wchar_t到底是几个字节长的? 为什么有的系统里面是4个字节?

  作者:未知    来源:网络    更新时间:2011/1/14
这个关头字代表的字节的长度,到底有没有一个定论?

在32位windows的VC环境,似乎总是2个字节。那么64位的windows上面这个多长?
我发现在Unix系统例如Solaris下面,wchar_t是4个字节的长度。

这究竟是怎么规则的?
---华软 网友回答---
The keyword wchar_t is used to declare wide character variables. wchar_t size is implementation dependent, therefore development of portable applications cannot assume that popular character representation, such as Unicode, can fit into a wchar_t on every plattform and using any compiler.
---华软网友回复---
他确实是可变的,64位的俺不清楚,4字节也不奇怪,由于unicode规范中字符就是占用4个字节,windows为了简单,实现的是2字节的,

所以写程序要尽量运用这类宏。

---华软网友回复---
引用 2 楼 jennyvenus 的回复:
他确实是可变的,64位的俺不清楚,4字节也不奇怪,由于unicode规范中字符就是占用4个字节,windows为了简单,实现的是2字节的,

所以写程序要尽量运用这类宏。


所以写程序要尽量运用这类宏----大侠你说的是什么宏? 举例一二?
谢谢!
---华软网友回复---
不同OS之间这些字符支持会有一些差异,对于windows能够都用宏来自动转换ansii与unicode
然则对于不同OS,一般要用规范类型,就是通用数据类型,比如char
---华软网友回复---
sizeof(wchar_t)

---华软网友回复---
引用 3 楼 sdfafsda 的回复:
引用 2 楼 jennyvenus 的回复:
他确实是可变的,64位的俺不清楚,4字节也不奇怪,由于unicode规范中字符就是占用4个字节,windows为了简单,实现的是2字节的,

所以写程序要尽量运用这类宏。


所以写程序要尽量运用这类宏----大侠你说的是什么宏? 举例一二?
谢谢!

主要就是 _T, _tcscpy, _tcscmp, _tcscat, _stprintf等。
     
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。