如何从Fortran 90中的输入文件中单独读取特定行? (最好是循环)

时间:2016-03-18 07:33:44

标签: loops variables fortran

这是输入文件。

enter image description here

在此我想将1,2,3,4,5,6,7,8,9读入以下变量:

read(25,*) nodein

其他值需要以这种方式引用:1 0 0序列应该引用其他三个变量。

do irest = 1,node
read(25,*)  rest(3*i-2),rest(3*i-1),rest(3*i)
end do

1 个答案:

答案 0 :(得分:1)

好的,我将在下面提到几个例外,每次执行Fortran I / O语句时,它都会转到下一行,技术上称为"记录"。您似乎从第二个代码片段中理解了这一点。所以使用这些知识可以看出为什么

do irest = 1,node
   read(25,*) nodein
   read(25,*) rest(3*i-2),rest(3*i-1),rest(3*i)
end do

会做你想做的事吗?

例外情况是非推进I / O和流I / O,这两种情况都不适用于此。

虽然我在这里会更好,如果你能提供一个完整的程序来展示你感到困惑的东西 - 这里很简单,但在很多情况下它会让你更容易理解这些问题。出于好奇,为什么要为rest模拟2D数组,这似乎是一种更自然的索引方式!