易码技术论坛

 找回密码
 加入易码
搜索
查看: 541082|回复: 11

请问怎么用LavaX读取有汉字的文本???

[复制链接]
发表于 2007-2-7 19:11:30 | 显示全部楼层
fread
发表于 2007-2-7 19:32:53 | 显示全部楼层
你要用单个字符进行判断,就是:
da=getc(fp);
if(da>0x40){....}//汉字
也可以用fread的,但是要有判断汉字到哪里的方法,比如纯汉字文本时判断换行符之类。
 楼主| 发表于 2007-2-7 20:16:06 | 显示全部楼层
我糊涂了,汉字不是16位吗,而英文不只有8位??
char根本容不下一个汉字呀
我不知道一些读书的软件是怎么写出来的?
fread不也是只读英文的吗?

能不能给个具体的例子???
发表于 2007-2-7 20:20:14 | 显示全部楼层
fread能读任何数据!
发表于 2007-2-7 20:39:42 | 显示全部楼层
的确汉字是16位,但是使用两个char是能读取汉字的,不信你自己试试看字符串显示。
fread是可以读取任何类型的。
 楼主| 发表于 2007-2-7 21:00:28 | 显示全部楼层

但是怎么显示呢?
用printf可以吗?
发表于 2007-2-7 21:03:53 | 显示全部楼层
只要引用字符串即可。格式是:printf("%s",字符串);
发表于 2007-2-16 20:23:59 | 显示全部楼层
字符在计算机里都是ASCII码的形式存在的,所有全角符号(包括汉字在内)是由两个ASCII码组成的,所有全角符号的ASCII码都大于128,所以半角符号都小于128,因些我们对某一个字符的ASCII码进行判断,如果大于128,那这就是一个全角符号,应该一次读两个字节出来,否则是一个半角符号,一个可以读一个字节出来!
有些字符是显示不出来的,比如
27   ESC
13   ENTER
20   UP
21   DOWN
22   RIGHT
23   LEFT
10   换行符
32   空格
等等!
自己好好地研究一下吧!
发表于 2007-2-20 21:23:27 | 显示全部楼层
换行符不是 0A 0D 吗?
发表于 2007-2-21 01:28:28 | 显示全部楼层
0d是回车好不好?
发表于 2007-2-27 20:14:48 | 显示全部楼层
看清了:
27  ESC
13  ENTER
20  UP
21  DOWN
22  RIGHT
23  LEFT
10  换行符
32  空格
等等!
0A等于十进制的10;
0D等于十进制的13。
也就是说:0D是ENTER键!
 楼主| 发表于 2007-2-7 18:50:12 | 显示全部楼层 |阅读模式
  请问怎么用LavaX读取有汉字的文本???
您需要登录后才可以回帖 登录 | 加入易码

本版积分规则

Archiver|手机版|小黑屋|EMAX Studio

GMT+8, 2024-4-20 07:33 , Processed in 0.012598 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表