如何判断字符是中文字符?
就是用开线程读取TXT文件中文字的时候 把一份分成10份 因为TXT文件中有些是英文有些是数字 有些是汉字!而我是一个字节一个字节读取的 所以有几个文本里字符读出来是错误的 我想这应该是跟把2个字节的汉字只读了一个字节有关把! 所以想问下 C++中如何判断字符是中文字符!
[解决办法]
如果当前字节> 0x80,则它和后一字节构成一个汉字,否则是其他内容(字母,数字,符号等)
[解决办法]
看Windows核心编程第二章,里面有个关于中文范围的问题,我记得是两个区域的。
[解决办法]
能写在TXT文件里面的对英文来讲都是可见字符,中文的字符集第1个字节应该有个范围。你查查看中文字符的acscii 范围 就知道了。
[解决办法]
bool isChineseChar(const char ch)
{
return ( ch & 0x80);
}
int main()
{
char* p = "aaa你123$%^&好 ";
for (int i = 0; i < strlen(p); i++)
{
if (isChineseChar(p[i]))
cout < < "第 " < <i < < " 个char是中文 " < <endl;
}
return 0;
}
[解决办法]
通过字节的高位来判断,ASCII码不超过OX80