如何解析fortran中数组文本文件中的几行

时间:2015-01-27 21:24:37

标签: parsing fortran

我是Fortran的新手,我想从几行解析数组 像下面这样的大文本文件。在我阅读完整的文件后,我分开了 归档到几个部分。我想解析特定的行,L(i), 并从行写几列。我试着写一小部分 该计划。我从文本文件中读取了所有行,但我不知道如何 我可以解析具体的Line(i)

文本文件:

... ...

     a          b         c          d
  1.2564E+2 0.2564E+2 1.25047E+2 3.2564E+1
  1.2564E+2 0.2564E+2 1.25047E+2 3.2564E+1
  1.2564E+2 0.2564E+2 1.25047E+2 3.2564E+1
  1.2564E+2 0.2564E+2 1.25047E+2 3.2564E+1

..... .....

  character*256 Line(155)
  integer ierr, n, i, s
  real:: a, b, c, d

  open(10,file='b.txt', status='old')
  do i=1,155
    read(10,'(a)',iostat=ierr) Line(i)
    if (ierr /= 0) exit
    end do
  close(10)

1 个答案:

答案 0 :(得分:1)

您可以使用read来读取字符变量:

do i = 1, 155
   read(line(i), *) a, b, c, d
   print*,'a =',a
   print*,'b =',b
   print*,'c =',c
   print*,'d =',d
enddo

如果您不打算将Line用于其他任何事情,那么您可以首先阅读abc和{{ 1}}直接来自您的文件。