我想要阅读大量输入文件。它们包含不同数量的总行数。我想读取每个文件中最后两行的所有行。我该怎么做呢?是首先计算每个文件中的行数然后读取所需行数的唯一方法吗?或者有什么比以下更有效的东西?
DO I = 1,1000
OPEN(UNIT=I,FILE=FILENAME,STATUS='UNKNOWN',ACTION='READ')
DO
READ(I,*,IOSTAT=IO)
IF (IO/=0) EXIT
nlines(I) = nlines(I) + 1
END DO
REWIND(I)
DO J = 1,nlines(I)-2
READ(I,*) A(J)
END DO
END DO
答案 0 :(得分:0)
为什么不忽略最后两行(即在完成读取后简单地将nlines(i)递减2)? 即:
{{1}}