CString 中英文字符串的操作问题~! 怎么样在cstring 类型的中英文字符串中判断一个字符是普通字符还是中文字符的开始?CString str("abc一二三d四");请给出例子,谢谢~! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如果下一个字符与上一个字符的索引相差2,你认为它就是中文字符(当然还有其文字)的话。你可以:int nLength=str.GetLength()char* pBuffer=str.GetBuffer(nLength);char* pNext;int nIndex=0;while(nIndex<nLenght){ pNext=::ChatNext((char*)(pBuffer+nIndex)); if(pNext==(pBuffer+nIndex+2)) { //*pNext是中文 nIndex+=2; } else { nIndex++; } }str.ReleaseBuffer(); 英文字母的ASCII码大于零,而一个汉字由两部分组成,但两部分的ASCII的值都小于零。CString str("abc一二三d四");for (int i=0; i<str.GetLength(); i++){ if (str.GetAt(i) > 0) AfxMessageBox("是字母"); else AfxMessageBox("是汉字");} 请问一下 以下两种方式 打开网页的 区别 在activex中运行WinExec出现r6025 pure virtual function call错误 使用辅助线程的问题(救命) 散分100,,今天参加网易的笔试了 怎样获得数据库存放的地址?? 数据传输问题 如何列出显卡、主板、声卡、USB设备的类型、编号、状态? 我得到一个Tbitmap类型,如何把它用image控件显示出来给30分 用VC++把一副图分割成几张小图显示出来? D3D9视频输出,全屏时有锯齿 isdigit判断汉字时被断言说参数大于 255??我要是想判断大于255,还要它干麻!! 送分的问题!
char* pBuffer=str.GetBuffer(nLength);
char* pNext;
int nIndex=0;
while(nIndex<nLenght)
{
pNext=::ChatNext((char*)(pBuffer+nIndex));
if(pNext==(pBuffer+nIndex+2))
{
//*pNext是中文
nIndex+=2;
}
else
{
nIndex++;
}
}
str.ReleaseBuffer();
CString str("abc一二三d四");
for (int i=0; i<str.GetLength(); i++)
{
if (str.GetAt(i) > 0)
AfxMessageBox("是字母");
else
AfxMessageBox("是汉字");
}