读书人

使用TStringList读取文件只读取到一半

发布时间: 2012-08-07 14:54:48 作者: rapoo

使用TStringList读取文件只读取到一半是怎么回事
读取某些TXT时,只读了前一半,后面的没了,如果我用记事本打开TXT,什么都不做,直接文件-》保存,就可以了,我用16进制打开看到的是一样的呀,有知道这是怎么回事吗?并且没保存前怎么读全呢?

[解决办法]
比较下读取完全的和不完全的文件之间的区别,大小或者带有特殊符号。
[解决办法]
有可能与TXT文件的换行格式有关,可以分别试一下读DOS格式、UNIX格式和MAC格式的情况,然后再试一下混合格式
如没问题的话在检查一下有没有特殊字符
[解决办法]
你这个文件不是文本文件吧,要不然里面怎么会有\0呢,或者编码不对?
[解决办法]
文件后半部分还没有保存
[解决办法]
先读取到 TMemoryStream 流,逐个字节判断是否 0x00 就改为 0x20 (空格),


再 TStringList-〉LoadFromStream 装入这个流。
[解决办法]
打开文件,直接都读到内存中,然后进行替换,把'\0'都替换成空格,然后在用TStringList去读进行了,或者不用TStringList,直接处理也行

读书人网 >C++ Builder

热点推荐