永发信息网

c++ 从中文文本文件中一次读取一个中文?

答案:3  悬赏:80  手机版
解决时间 2021-03-01 12:53
现有一文本文件格式为Unicode。 内容汉字。我想从文件中每次读取一个汉字,求大神解答?
最好附上代码说明,谢谢大神!!
最佳答案
#include<stdio.h>
main()
{
FILE *fp;
char ch;
if((fp=fopen("c:\\1.txt","rt+"))==NULL)
{
printf("\nCannot open file, strike any key exit!");
getch();
exit(1);
}
ch=fgetc(fp);
while(ch!=EOF)
{
putchar(ch);
ch=fgetc(fp);
}
fclose(fp);
}
全部回答
unicode 文件需要跳过最前面两个字节,那个存储的是0xfffe,那个是Unicode的标记 然后 就是 两个字节一读
如果是在多字节(multibyte 非unicode)模式下,无法完全准确的保障准确性。 因为在多字节模式下,汉字2字节,英文、符号和控制字符都是1字节,读取文件的操作无法保障完全正确的识别。多数情况下,可以每次读取2字节,判断第一个字节的ascii码,如果大于127,那么通常是2字节汉字。 而在unicode模式下读取unicode模式的文本文件(带有bom字头),就没有这个问题了,这种模式下,所有字符都占2字节,那么读取内容的时候,每个wchar的读取,就是一个汉字或者一个字符。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
龙泽家园地址在什么地方,想过去办事
一寸软水管直径是多少
甲乙两粮库,甲库比乙库多20%,如果从甲粮库
金海办公用品我想知道这个在什么地方
哪里买雅马哈65O电子琴最便宜
转转里分享别人发的信息是在哪找,分享到微信
住在广州番愚区的人有钱吗?属不属于广州中心
服用天王补心丸的注意事项有A.体质虚弱者禁用
兴安灵渠机动车驾驶员培训学校怎么去啊,有知
哪里有词语解释大全的书籍下载,书籍中都一一
你好,补牙用的富士9的材料每一颗120价格合理
夫妻两人的有限公司申请破产
键盘按d会出现sd,按c会出现cx,怎么回事
醒酒后的葡萄酒还能储存吗
乔庄巷我想知道这个在什么地方
推荐资讯
我有140个450.1000的电容请问着么连接能打到
无线猫和路由器连接后电脑和无线网没网
考一下bec中级总共要花多少钱
求音乐:那女孩对我说说我是一个傻瓜
描写病态的句子
公积金缴费基数调整后什么时候生效?比如今年
宇宙航行中卫星的加速度是g吗,若不是,怎么
中国电信赵都新城营业厅这个地址在什么地方,
合肥有么有给包装贷款的公司,还请知道的帮忙
【一滴什么】像一滴一滴这个样的词语有什么
一位学生在家做了一个小实验,他用一根细绳绑
违约金与定金同时约定,适用哪一个?有哪些规
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?