把一个字符串按一定长度截取后,如果前面的字符串中有半角字符或字母等等,最后一个汉字会出现半个汉字的乱码。我想如果遇到这种情况,把最后的半个汉字删掉。如果没有出现这种情况,则不做操作。
我在网上找到这个样一下这个方法。如果遇到字符串末尾是半个汉字会把它删掉,但是如果字符串末尾不是半个汉字,它也会删除半个汉字。导致原本正常的字符串,最后又变成乱码了。不知道是什么缘故,有没有谁可以帮忙看看呢?
int chkHalfChinese(char * buf,int len)
{
int i = 0;
int cnt = 0;
for(i=len-1;i>=0;i--) {
if(buf[i] < 160) break;
if(buf[i] > 160) cnt++;
}
if(cnt%2) {
buf[len-1] = 0x00;
return(1);
}
else
return(0);
}