Fortran Coder

标题: FORTRAN写入文件请教 [打印本页]

作者: ahwhdj    时间: 2021-1-6 14:54
标题: FORTRAN写入文件请教
请教:怎么修改才能一条条记录是独立的,而不是接在后面的(以前FORTRAN77是可以的,现在Compaq Visual Fortran不可以了,谢谢!
[Fortran] 纯文本查看 复制代码
      nn=1
      open (7,file='jssj.txt',status='old')
120   read(7,130,end=200) nbh
130   format(i4)
      nn=nn+1
      goto 120
200   close(7)
      nbh=nbh+1
      write(*,210)nn
210   format(1x,'No:',i4,3x,'recorp by written')
      open (unit=9,file='jssj.txt',status='old',access='append',
     &form='formatted',recl=124)


      write(9,220,rec=nn) nbh,zsy,ma1,ma2,ma3,mh45,ma11,ma13,
     &a(26),ma23,a(25),a(29),ma15,ma16,ma67,ma68,ma36,ma37,
     &a(69),a(70),ma71,h(43),h(44),mp25,p(29),p(49),h(35),h(36),
     &mh37,md3,mf51,h(2),h(1)
220   format(i4,a8,i4,i4,i2,i4,i4,i4,
     &f4.2,i4,f4.2,f4.1,i2,i2,i4,i4,i2,i2,
     &f4.2,f4.2,i4,f4.1,f4.1,i4,f4.2,f4.2,f4.1,f4.1,
     &i4,i4,i2,f4.2,f4.1)
      close(9)
900   return
      end

微信图片_20210106115730.png (79.49 KB, 下载次数: 416)

以前FORTRAN77可以的

以前FORTRAN77可以的

微信图片_20210106115751.png (12.85 KB, 下载次数: 411)

微信图片_20210106115751.png

作者: 清香白莲    时间: 2021-1-6 15:19
[Fortran] 纯文本查看 复制代码
      Integer , parameter :: NSIZE = 124
      Inquire(File="jssj.txt",size=nn)
      nn=(nn/NSIZE)+1
      nbh=nbh+1
      write(*,210)nn
210   format(1x,'No:',i4,3x,'recorp by written')
      open (unit=9,file='jssj.txt',access='DIRECT',
     &form='formatted',recl=NSIZE)

      write(9,220,rec=nn) nbh,zsy,ma1,ma2,ma3,mh45,ma11,ma13,
     &a(26),ma23,a(25),a(29),ma15,ma16,ma67,ma68,ma36,ma37,
     &a(69),a(70),ma71,h(43),h(44),mp25,p(29),p(49),h(35),h(36),
     &mh37,md3,mf51,h(2),h(1)
220   format(i4,a8,i4,i4,i2,i4,i4,i4,
     &f4.2,i4,f4.2,f4.1,i2,i2,i4,i4,i2,i2,
     &f4.2,f4.2,i4,f4.1,f4.1,i4,f4.2,f4.2,f4.1,f4.1,
     &i4,i4,i2,f4.2,f4.1)
      close(9)
900   return
      end

作者: ahwhdj    时间: 2021-1-6 16:07
清香白莲 发表于 2021-1-6 15:19
[mw_shl_code=fortran,true]      Integer , parameter :: NSIZE = 124
      Inquire(File="jssj.txt",siz ...

谢谢!我试试看。
作者: ahwhdj    时间: 2021-1-6 16:33
********************************** bb *****************************
        if (ib(12).eq.1) then
        p(25)=q(1)
        p(29)=q(3)
        endif

        nn=1
      open (7,file='jssj.txt',status='old')
120   read(7,130,end=200) nbh
130   format(i4)
      nn=nn+1
      goto 120
200   close(7)
      nbh=nbh+1
      write(*,210)nn
210   format(1x,'No:',i4,3x,'recorp by written')


      Integer , parameter :: NSIZE = 124

      Inquire(File="jssj.txt",size=nn)

      nn=(nn/NSIZE)+1

      open (unit=9,file='jssj.txt',status='old',access='DIRECT',
     &form='formatted',recl=NSIZE)
      
     
      write(9,220,rec=nn) nbh,zsy,ma1,ma2,ma3,mh45,ma11,ma13,
     &a(26),ma23,a(25),a(29),ma15,ma16,ma67,ma68,ma36,ma37,
     &a(69),a(70),ma71,h(43),h(44),mp25,p(29),p(49),h(35),h(36),
     &mh37,md3,mf51,h(2),h(1)
220   format(i4,a8,i4,i4,i2,i4,i4,i4,
     &f4.2,i4,f4.2,f4.1,i2,i2,i4,i4,i2,i2,
     &f4.2,f4.2,i4,f4.1,f4.1,i4,f4.2,f4.2,f4.1,f4.1,
     &i4,i4,i2,f4.2,f4.1)
      close(9)
900   return
      end
还是有问题。见下面图片。
作者: ahwhdj    时间: 2021-1-6 16:35
编辑时出错。

微信图片_20210106163522.png (23.53 KB, 下载次数: 409)

微信图片_20210106163522.png

作者: 清香白莲    时间: 2021-1-6 17:59
1. 建议你换个编译器。不要用CVF这种货了。见:http://fcode.cn/announce-show.php?aid=1
2. 定义语句要写在执行语句的前面。

作者: ahwhdj    时间: 2021-1-7 08:45
清香白莲 发表于 2021-1-6 17:59
1. 建议你换个编译器。不要用CVF这种货了。见:http://fcode.cn/announce-show.php?aid=1
2. 定义语句要写 ...

WIN10可以用的IVF破解版或者免费版哪里有下载呀?能不能给个下载地址呀?谢谢!
作者: vvt    时间: 2021-1-7 10:17
本帖最后由 vvt 于 2021-1-7 10:26 编辑

http://pan.fcode.cn
作者: ahwhdj    时间: 2021-1-7 14:37
vvt 发表于 2021-1-7 10:17
http://pan.fcode.cn

装了IVF,对界面不熟悉,找不到哪个菜单里生成可执行的程序 。
作者: ahwhdj    时间: 2021-1-7 14:42
请教哪个菜单里生成可执行的程序

微信图片_20210107143906.jpg (155.96 KB, 下载次数: 404)

微信图片_20210107143906.jpg

作者: vvt    时间: 2021-1-7 16:37
http://v.fcode.cn
作者: ahwhdj    时间: 2021-1-11 16:24
解决了,将 write(9,220,rec=nn) 改为write(9,220)就OK了。
作者: ahwhdj    时间: 2021-1-11 16:55
vvt 发表于 2021-1-7 16:37
http://v.fcode.cn

谢谢!学习一下。




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