用for input读文件时的问题

来源:百度知道 编辑:UC知道 时间:2024/05/28 12:08:22
open "……" for input as #1
do while not eof(1)
line input #1,(这里能否用数组?)
loop
close

就这样一个例子,能否在那里用一个数组,使得数组里的每个元素按顺序对应读取文件的每一行?当然代码不可能这么简单,我实在不知道应该怎么弄了,请各位大虾帮帮忙!

Open "filename" For Input As #1
s$ = StrConv(InputB$(LOF(1), 1), vbUnicode)
Close #1
arr = Split(s, vbCrLf)

这不就变数组了

尽量少用line input,效率奇低无比
除非需要读读停停的情况用line input,比如载入一个超大文本,先读100行显示着,需要显示后面时再读100行,这时候好使
但常见很多人像你这样写法,一行一行的还非要用do loop从头到尾读完了,那何苦呢,一次读完就是了

可以用.定义可调数据,执行时扩充,
Dim a() As String
Open "..." For Input As #1
i = 0
Do While Not EOF(1)
ReDim Preserve a(i + 1)
Line Input #1, a(i)
i = i + 1
Loop
Close

自然效率不会高.如果文件行数多,还是用一楼的方法好些