3mile 发表于 2011-8-6 00:08 http://autoitx.com/images/common/back.gif
搜了下,有两个对应ini的函数
GetPrivateProfileSection
GetPrivateProfileSectionNames
能不能写个新函数,突破官方inireadSection和 InireadSectionNames 的32767 字符限制呢? 不太明白原理 学习学习学习学习 回复 16# minterz
http://www.autoitx.com/forum.php?mod=viewthread&tid=12319&highlight=\_iniread 学习了。
函数名:_IniReadSection;======================================
; 说明: 从INI结构文件中读取某个字段中的所有关键字或值。
;比_FileReadToArray之类的读入数组的方法快N~N千倍…
; 原IniReadSection函数只有在字段中的前32767字符可以被正常返回,本函数无此限制(初衷在于此)。
; 原IniReadSection函数遇到某些文件特殊的回车及换行组合会停止继续而返回,本函数会完整读出。
; 其它与原IniReadSection函数不同:不返回无关键字的值;既无关键字又无值只有等号的也不被返回。
; 语法: _IniReadSection('ini文件路径', '字段名'[, '打开模式'])
; 返回值:成功: 返回一个二维数组,其中:元素=大小、元素=关键字、元素=对应的数值。
; 失败: 返回0。如INI文件读取错误或字段不存在将设置 @error=1;字段内容为空将设置 @error=2
;============================================================== 回复minterz
\_iniread
happytc 发表于 2011-8-6 10:17 http://autoitx.com/images/common/back.gif
这个没什么用,100w行数据的时候,连_iniread返回的都是错误的.
这个同样是正则匹配的,速度没有优势...
还没有_StringBetween方便呢...
官方的iniread机制已经出来了,就是调用win api
希望有高手用win api 写个突破限制的出来{:face (125):} 高人啊都是 官方地址谁发一下 {:face (303):}10块 {:face (356):}学习呀 厉害! 还是只能佩服啊 ini 毕竟不是txt,是有索引的,文件的信息排布方式并不是你肉眼看到的那样,实际上真正的文件读取方式是先读取索引,根据索引(能储存数据在字符串中的位置)直接跳转,也就是你不查找的直接跳过了!
举个例子,你搜索一本书的某个信息的时候,他会先读目录,根据目录直接跑到制定的页面,本身这个函数只知道前面有多少个单位的数据被跳过了,但是究竟跳过了什么他根本就没读! 非常不错,当然官方的速度快了
页:
1
[2]