##C判断中英文
#include <stdio.h>
#include <string.h>
//如何检测字符是中文还是英文
//英文的ASCII码范围是在0到127,二进制为(0000 0000 ~ 0111 1111)
//中文占2个字节 且每个字节最高位都为1
void IncludeChinese(char* str)
{
char szchinese[3] = { 0 };
while (1)
{
szchinese[0] = *str;
if (*str == 0) break; //如果到字符串尾则说明该字符串没有中文字符
if (*str >= 65 && *str <= 'Z')
{
printf("检测是英文大写:%c\n", *str);
}
else if (*str >= 97 && *str <= 'z')
{
printf("检测是英文小写: %c\n", *str);
}
else if ((*str & 0x80) && (*++str & 0x80)) //如果字符高位为1且下一字符高位也是1则有中文字符
{
szchinese[1] = *str;
printf("检测是中文: %s\n", szchinese);
}
(*str)++;
}
return;
}
int main()
{
char sztext[] = "H试llo";
IncludeChinese(sztext);
}