Fortran Coder

标题: fortran读取txt文件并赋值 [打印本页]

作者: WHX    时间: 2022-12-22 17:03
标题: 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
[Fortran] 纯文本查看 复制代码
         type(visdamper),allocatable::AllSprngProps(:)

改为
[Fortran] 纯文本查看 复制代码
         type(vis),allocatable::AllSprngProps(:)

作者: WHX    时间: 2022-12-23 15:57
Transpose 发表于 2022-12-23 11:11
改为
...

想请教一下我这样写可以吗?其他地方有没有逻辑和语法错误呢?




欢迎光临 Fortran Coder (http://bbs.fcode.cn/) Powered by Discuz! X3.2