关于在MFC中处理字符串的问题

用什么方法可以知道一个字符串中的字符是一个汉字和一个字母?假如我定义了一个CStringst1;st1="VisualC++可视化编程6.0";我做程序想按退格健一个字一... 用什么方法可以知道一个字符串中的字符是一个汉字和一个字母?
假如我定义了一个
CString st1;
st1="Visual C++ 可视化编程 6.0";
我做程序想按退格健一个字一个字的删除,当到汉字的时候要按一两下退格才能删除一个汉字,并且当按一下后再输入就是乱码了,请问下怎么样按一下就能删除一个字符(包括汉字)?
用CharNext()和CharPrev()这两个函数可不可以?
展开
 我来答
魔高丈
2008-12-11 · TA获得超过9506个赞
知道大有可为答主
回答量:2066
采纳率:0%
帮助的人:3466万
展开全部
判断st1.GetAt(i)是否大于等于128,大于等于128时就是汉字,小于128是即为ASCII

因为标准ASCII码,只用了一个字节的最低7位,而汉字,韩日文等双字符文字用了8位。

你删除前先做判断,是汉字就退两个格

补充:CharNext()和CharPrev()当然也可以了,不过这两个是API函数是针对char *类型的。你既然用CString 那当然还是用GetAt()最方便了。
hzfhit
2008-12-11 · TA获得超过209个赞
知道答主
回答量:133
采纳率:0%
帮助的人:54.2万
展开全部
取一个字符,如果等于0x00是结束符,大于0x80就是汉字,否则就是ASICC字符。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
bdgugetw
2008-12-11 · TA获得超过987个赞
知道小有建树答主
回答量:581
采纳率:75%
帮助的人:93.8万
展开全部
for(i=0;i<10;i++)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式