回 帖 发 新 帖 刷新版面

主题:读取文本文件行数问题

假设一个文本文件有几十行,现要分别读取第2、5、8、9、12......等行(即这些行没有固定的)并使其为变量,最简单的写法是怎样的?

回复列表 (共4个回复)

沙发

最简单?不好意思,这个最字不好办,去掉这个最字我就举个例:
f$="文件名"
f%=freefile
open f$ for input as #f%
line input #f%,a1$
line input #f%,a2$  '第二行
line input #f%,a1$
line input #f%,a1$
line input #f%,a5$
line input #f%,a1$
line input #f%,a1$
line input #f%,a8$
line input #f%,a9$
line input #f%,a1$
line input #f%,a1$
line input #f%,a12$
close #f%

不简单的有这样子的
f$="文件名"
f%=freefile
open f$ for binary as #f%
do until eof(f%)
  a$=input$(16383,#f%)
  do
     b=a
     a=instr(a+1,a$,chr$(13)+chr$(10))
     if a>0 then
       l=l+1
       if instr(" 2 5 8 9 12 ",str$(l)) then
        k$=mid$(a$,b+2,a-b-2)
        print "第";l;"行的内容是";k$
       endif
      endif
  loop until a=0
  fl=fl+b
  seek #f%,fl
loop
close #f%

板凳

MOZ,虽然你的答案并没有达到我的目的,但可以看出你是多么的热心,难以想像这个论坛如果没有你将会什么样子,可以肯定人气会马上降下来。

3 楼

1. 没有达到你的目的?你的目的是什么?
2. 我是多么的热心?你了解人活在世界对什么事情都失去兴趣的那种痛苦吗?
   现在是你们在帮我减轻痛苦的时候。

4 楼

如果你要读文件test.dat的第5行
程序如下:

'-------定义程序中所需的变量-----
DIM FileName as string '文件名
DIM FileData as string '读文件数据变量
dim FileNum as integer '文件句柄
DIM i As integer       '计数器
'----------定义变量结束-----

FileName="Test.dat" '文件名为test.dat
FileNum=freefile  '获得一个文件句柄 
open FileName for input as #FileNum  '打开文件
do  '循环读整个文件
 LINE INPUT #FileNum, Filedata   '从文件中读一行数据
  i=i+1 '累加
  if i=5 then   '如果i=5 说明是第5行
     print i;FileData  '显示第5行的数据
     EXIT DO  '退出循环
  end if
loop until eof(FileNum)  '如果到文件末尾则退出循环


这个程序我并未运行验证,如果有错误,请自己改正!

我来回复

您尚未登录,请登录后再回复。点此登录或注册