CString如何处理这种情况??

sunht 2003-09-24 10:38:04
当一个CString的对象中含有中文和英文的时候, 如果写一个函数,可是随意的将这个字符串分割成两个CString对象,并且不能出现任何乱码?谢谢
...全文
44 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
bluebohe 2003-09-24
  • 打赏
  • 举报
回复
用CString的
BSTR *str2=str.AllocSysString();
处理str2就好了
SysFreeString(str2);
Pipi0714 2003-09-24
  • 打赏
  • 举报
回复
假如从一个汉字两个字节中分开以前后那个为准就可以不出现乱码了
hdqqq 2003-09-24
  • 打赏
  • 举报
回复
先用

MultiByteToWideChar

转成wchar字符,然后按照wchar处理分割,


再用
WideCharToMultiByte
弄回来
司马青衫依旧 2003-09-24
  • 打赏
  • 举报
回复
MultiByteToWideChar
WideCharToMultiByte
tigerVC 2003-09-24
  • 打赏
  • 举报
回复
如果是我,我就比较笨的用这个方法,如果是正好两部分分开的,你就可以把字符一个一个读出来,比较在不在英文字母的ASC码里面,如果出现不是的了,那就结束,然后就从这个位置分开,不知行否。字符串,本身可用字符数组来表示的
导工 2003-09-24
  • 打赏
  • 举报
回复
你看一下第一个字符串的最后一个字节和第二个的第一个字节最高位是否都为1就行了,只是这样不能处理非英语。
nonocast 2003-09-24
  • 打赏
  • 举报
回复
没什么好的办法
其实也不会很复杂
不是吗?

-----------------
May you succeed!
--------------------
sunht 2003-09-24
  • 打赏
  • 举报
回复
没有别的好办法了么

16,470

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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