fortran - 从 Fortran 中的特定行号开始读取

标签 fortran

我有一个包含 1000 多个数字的文件,例如:

0000
0032
1201
:  :
:  :
:  :
2324

根据输入参数“n”,我想从此文件中从行号“n”到“n+m-1”读取“m”个数字。

有什么想法可以在 Fortran 中执行此操作吗?

最佳答案

我不知道你是否自己尝试过,但这是一个最小的例子: 比如,你的输入文件看起来像这样:

0000
0032
1201
1234
4567
7890
2324

使用此代码(阅读后)

Program jhp
Implicit None
integer :: i
integer, parameter :: &
     m=7, &    !total number of line
     n=4, &    !line to skip
     p=3      !lines to read
integer,dimension(m)::arr   !file to read

open(12,file='file_so',status='old')
do i=1,n
  read(12,*)arr(i)
end do
do i=1,p
  read(12,*)arr(i)
  write(*,*)arr(i)
end do
End Program jhp

这会跳过前 n 行,然后读取 p 行。 希望有帮助

关于fortran - 从 Fortran 中的特定行号开始读取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16586585/

相关文章:

fortran - 分配时Fortran可分配数组的内存位置?

oop - 带有延迟函数和 non_overridable 关键字的段错误

c++ - 如何处理不同的数组大小作为函数的参数?

debugging - 在 Fortran 程序中,检查是否使用 "-g"进行编译

arrays - Fortran:哪种方法可以更快地更改数组的等级? ( reshape 与指针)

segmentation-fault - 为什么 MPI isend irecv 不起作用?

VB.Net:DllImport 和 Declare 语句的差异

fortran - GAMMA 的结果低于同类

fortran - 带有过程参数的通用类型绑定(bind)过程

Fortran final 例程在变量超出范围之前调用自身