首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

怎么判断字符是中文字符

2012-02-08 
如何判断字符是中文字符?就是用开线程读取TXT文件中文字的时候把一份分成10份因为TXT文件中有些是英文有些

如何判断字符是中文字符?
就是用开线程读取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

热点排行