如何判断CString串中的是字母还是汉字? 如何判断?谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 从CString中取出一个字符,看它的值是大于0还是小于0。汉字编码每个字节的最高位都是1,所有它的值是小于0的。 对,逐个遍历字符串中的每一个字符,判断起ASC码值。如果有一个<0 表明其中有汉字。否则为字符串。CString sDest;char ch;BOOL bHz=FALSE;for (int i=0;i<sDest.GetLength();i++){ ch=sDest.GetAt(i); if (ch<0) { bHz=TRUE; break; }}if (bHz) //汉字else //字符 汉字占两个字节,下面是判断字符是否为中文的代码,参数是要判断的两个字节内容,bool IsHZCode(unsigned char bC1,unsigned char bC2){ if((bC1>=0xa1)&&(bC1<=0xfe)&& (bC2>=0xa1)&&(bC2<=0xfe)) return true; return false;} 楼上两层的大哥,0xa1和0xfe指代的是什么?通过判断第一个字符是否为负不行么? 你可以对每个char*进行遍历,若遇到值大于127,就取两个字节,否则取单字节 求教 怎么让程序使用socks5代理连接网络 散分: 统计下上一贴的战斗情况。。 关于构造函数的问题 图象合成问题! 关于编程序创建PPPOE拔号的问题 怎样改变checkbox的字体大小? 怎样给鼠标cursor挂一个提示窗口 关于_ConnectionPtr是否在正常连接? 希望能和这里的朋友认识一下! 如何实现一元多项式的加、减、乘法? 有关windows虚拟屏的技术问题, 高手请进!!!! 扫描程序如何循环处理一段IP地址?
如果有一个<0 表明其中有汉字。否则为字符串。CString sDest;
char ch;
BOOL bHz=FALSE;
for (int i=0;i<sDest.GetLength();i++)
{
ch=sDest.GetAt(i);
if (ch<0)
{
bHz=TRUE;
break;
}
}if (bHz)
//汉字
else
//字符
{
if((bC1>=0xa1)&&(bC1<=0xfe)&&
(bC2>=0xa1)&&(bC2<=0xfe))
return true; return false;
}