c++ 从中文文本文件中一次读取一个中文? 80
3个回答
展开全部
如果是在多字节(MultiByte 非UNICODE)模式下,无法完全准确的保障准确性。
因为在多字节模式下,汉字2字节,英文、符号和控制字符都是1字节,读取文件的操作无法保障完全正确的识别。多数情况下,可以每次读取2字节,判断第一个字节的ASCII码,如果大于127,那么通常是2字节汉字。
而在UNICODE模式下读取UNICODE模式的文本文件(带有BOM字头),就没有这个问题了,这种模式下,所有字符都占2字节,那么读取内容的时候,每个WCHAR的读取,就是一个汉字或者一个字符。
因为在多字节模式下,汉字2字节,英文、符号和控制字符都是1字节,读取文件的操作无法保障完全正确的识别。多数情况下,可以每次读取2字节,判断第一个字节的ASCII码,如果大于127,那么通常是2字节汉字。
而在UNICODE模式下读取UNICODE模式的文本文件(带有BOM字头),就没有这个问题了,这种模式下,所有字符都占2字节,那么读取内容的时候,每个WCHAR的读取,就是一个汉字或者一个字符。
追问
求代码?
追答
不知道你的模式、环境、文件格式,哪里有代码。
另外,第一种模式,无法保障准确性,代码也很罗嗦,没有现成的,写出来也没什么用处吧。
第二种,直接使用任何一种读取WCHAR的都可以。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你好!
汉字是连续的吗
汉字是连续的吗
追问
有标点符号
追答
中,国,我,爱,你
是这样的格式吗,私信联系我吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询