#include
#include
int main()
{
char sztext[] = " 是ciw.";
char c = 0;
char szchinese[3] = {0};
int i = 0, nlen = strlen(sztext);
for(; i < nlen; i++)
{
if( sztext[i] >= 0 && sztext[i] <= 127 ) //不是全角字符?
c = sztext[i], printf("%cn", c);
else //是全角字符
szchinese[0] = sztext[i], szchinese[1] = sztext[i + 1], printf("%sn", szchinese), i++; //中文是2个字节,所以i++
}
return 0;
}
#include
int IncludeChinese(char *str)//返回0:无中文,返回1:有中文
{
}
首先,汉字是双字节的编码格式!
简单的判别方式举例
BOOL SMG_Chars_Operation::behas_Chinese(std::string text)
{
// 根据字符,来选择编码方式
BOOL bHasChinese = FALSE;
for (int i=0; i<text.length(); i++)
{
if (text[i] < 0) // 0xBO 10110000 0xA1 10100000 第一位都是1,表示是负数
{
bHasChinese = TRUE;
break;
}
}
return bHasChinese;
}