WHX 发表于 2022-12-22 17:03:58

fortran读取txt文件并赋值

   想请教一下各位大佬,我想用Fortran读取txt文件,一共15行,第一行代表有几组数据,一组数据有七行,然后每七行进行赋值怎么实现,能不能帮我写一下
      module typ_vis      implicit none
      type :: vis
          integer::nlink!表示第几组
          real*8 :: c1
          real*8 :: c2
          real*8 :: a1
          real*8 :: a2
          real*8 :: d1
          real*8 :: d2    !spring parameters
      end type vis
      end module typ_vis

       subroutine ReadLinkProp()
      use typ_vis
      implicit none
      integer::I
      integer::nOfsprng!表示一共几组
      type(visdamper),allocatable::AllSprngProps(:)
      if (.not.allocated(AllSprngProps)) then
            allocate(AllSprngProps(100))
      end if

                        open(55,file='vis.txt')
            read(55,*) nOfsprng   !读取一共多少组
                        !write(*,*) "nOfSprng", nOfSprng
            do I=1, nOfSprng
            read(55,*) AllSprngProps(I)%nlink,!读取第几组
   1               AllSprngProps(I)%c1,
   2               AllSprngProps(I)%c2,
   3               AllSprngProps(I)%a1,
   4               AllSprngProps(I)%a2,
   5               AllSprngProps(I)%d1,
   6               AllSprngProps(I)%d2,
            end do
                        close(55)

      return
      end subroutine ReadLinkProp
(txt文件如下:
   2!表示两组数据
      1!表示第一组
      300
      600
      0.2
      0.3
      0.01
      0.02
      2!表示第二组
      400
      700
      0.4
      0.5
      0.03
      0.04)

Transpose 发表于 2022-12-23 11:11:15

         type(visdamper),allocatable::AllSprngProps(:)
改为
         type(vis),allocatable::AllSprngProps(:)

WHX 发表于 2022-12-23 15:57:46

Transpose 发表于 2022-12-23 11:11
改为
...

想请教一下我这样写可以吗?其他地方有没有逻辑和语法错误呢?
页: [1]
查看完整版本: fortran读取txt文件并赋值