骗子 发表于 2012-10-22 22:52:52

奇怪的文本,900多行只能读出600多行,怎么解决,谢谢

压缩包里的txt文件
#include <array.au3>
#include <file.au3>
Global $xxx
_FileReadToArray('temp1.txt', $xxx)
_ArrayDisplay($xxx)
只能显示出来一部分,fileread也是
而将此文件打开重新保存然后再读取的话就没问题了,有什么办法解决吗?

user3000 发表于 2012-10-22 23:26:13

下载后,直接读出来了, 917行...
没有打开文件并重新保存!
系统问题, AU3版本问题? 请楼下继续提供测试结果.#include <Array.au3>
$txt = FileRead('temp1.txt')
$a = StringRegExp($txt, '.+', 3)
_ArrayDisplay($a)

shqf 发表于 2012-10-23 10:26:27

autoit程序版本:3.3.9.0汉化版
用一楼代码也只读出600多行,用二楼代码读出全部917行。难道是<file.au3>的原因吗?

shqf 发表于 2012-10-23 11:46:07

本帖最后由 shqf 于 2012-10-23 11:47 编辑

原因应该在file.au3中的_FileReadToArray函数上。其起分割字符串作用的主要是199行代码:$aArray = StringSplit(StringStripCR($aFile), @LF),不知为何要加上StringStripCR($aFile),如去掉全部用@LF来分割就正常,代码为$aArray = StringSplit($aFile, @LF),或全部用@CR来分割也正常,或者就象二楼用正则来分割也正常。
页: [1]
查看完整版本: 奇怪的文本,900多行只能读出600多行,怎么解决,谢谢