C语言汉字编码
一个汉字占用两个字节,单独读取一个字节的ASCII码为负数
因而可以通过判断ASCII码的正负来确定是否为汉字,如果为汉字,则需要每次操作两个字节
将汉字与英文字符分开
#include<stdio.h>
#include<string.h>
int main()
{
char str[] = "这是一行汉字,but these are not Chinese character";
char chinese[20];
int len = strlen(str),i,j=0;
for (i = 0; i < len; ++i)
{
if (str[i] < 0) //汉字
{
chinese[j++] = str[i];
chinese[j] = str[i + 1]; //此处不能用i++
}
}
chinese[j] = '\0';
printf("%s\n",chinese);
return 0;
}