有关宽字符的问题,请有经验的兄弟们给看看。。。。

郑大满 2004-10-19 04:43:52
CString str;
str = "中A国";

wchar_t c1 = str[0];
wchar_t c2 = L'中';
assert(c1 == c2); //c1不等于c2

问题:如果将str中的三个字符转换3个wchar_t??
...全文
151 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
lynnboy 2004-10-20
  • 打赏
  • 举报
回复
宏比较快。
carylin 2004-10-19
  • 打赏
  • 举报
回复
agree
  • 打赏
  • 举报
回复
楼上正解,不过用A2W几个宏比较方便,咔咔.
tsohg 2004-10-19
  • 打赏
  • 举报
回复
有一个API函数MultiByteToWideChar,是将多字节传花为宽字节的;
在MSDN里查一下,就知道了!
icymirror 2004-10-19
  • 打赏
  • 举报
回复
第一个str里面的内容,你需要通过对数据的内容进行检测,来判断是否要通过一个unsigned short保存汉字,来生成一个和wchar_t相同大小的数据,然后进行比较。如:对于“中”,先检测每一个char,然后对第二个char进行一下比较,通常:大于127的可以考虑和第一个合并,此时,把第一个的数据左移8位,和现在的char进行一下位的“或”运算,可以得到一个等同于wchar_t的unsigned short了,然后可以进行一下比较了。
icymirror 2004-10-19
  • 打赏
  • 举报
回复
什么意思?如果?

24,856

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧