如何获得字符串中指定长度的字符 如何从含有中英文特殊符号等的字符串中得到我想要长度的字符呢? 如字符串 “中国abc1234国” 中有11个字符,我要得到前4字符,也就是“中国ab”,那应该这样得到呢? 请高手指点 谢谢了 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 CString csText = _T("中国abc1234国");CString csTarget = csTest.Left(4); 在UNICODE下,用1楼的:CString csText = _T("中国abc1234国"); CString csTarget = csTest.Left(4);在ANSI下,用2楼的:自已写个函数吧,对字符串按字节进行扫描,大于127的就是中文,所以一次就要取两个字节,小于等于127的就是英文取一个字节。还有一种方法,将字符串转成宽字符,这样无论是英文或中文都占两个字节,并且有现成的取子串函数。楼主说有11个字符,说明楼主在UNICODE下。 更正下:刚刚举例的时候少打了个字符。 中国abc1234中国 这是11个字符 中国abc1234国 这是10个字符 1楼说的是取字节,我要的是字的个数 UNICODE下,汉字、字符都占二个字节,GetLength()就是字的个数。 对这些编码格式有点迷糊。。楼主看一下:怎样把Unicode代码转换成中文字符什么是宽字符? 请教.如何让一个程序开启另外一个程序? timeSetEvent回调函数超时问题?? 如何获得LIST中多选的位置 关于dll 在线紧急求助,万分感谢 CSocket与TCP的基本问题 向高手请教一些专业网址! 散分,忘掉一个人好难!! 如何在读取文件的操作中灵活的控制读取用的指针(在线等待) 请教odbc编程:怎么实现多form之间的转换啊?? RS485通信出现问题,在线等等 成熟产品找兼职人员 release版本,不调用构造函数的问题,奇怪
CString csTarget = csTest.Left(4);
CString csText = _T("中国abc1234国");
CString csTarget = csTest.Left(4);在ANSI下,用2楼的:
自已写个函数吧,对字符串按字节进行扫描,大于127的就是中文,所以一次就要取两个字节,小于等于127的就是英文取一个字节。还有一种方法,将字符串转成宽字符,这样无论是英文或中文都占两个字节,并且有现成的取子串函数。楼主说有11个字符,说明楼主在UNICODE下。
中国abc1234中国 这是11个字符
中国abc1234国 这是10个字符
1楼说的是取字节,我要的是字的个数
UNICODE下,汉字、字符都占二个字节,GetLength()就是字的个数。
怎样把Unicode代码转换成中文字符什么是宽字符?