Fortran Coder

查看: 18895|回复: 10
打印 上一主题 下一主题

[文件读写] Fortran直接文本文件读写问题

[复制链接]

35

帖子

6

主题

0

精华

熟手

F 币
151 元
贡献
94 点
跳转到指定楼层
楼主
发表于 2017-11-18 11:24:16 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
我直接方式打开了一个文本文件,怎么才能在一个rec(例如rec=1)里写入多行数据,比如我可不可以在rec=1里输100个整数,每10个数换一行??
还有对于二进制文件10,WRITE(10,REC=1)1,(0,I=1,99)这条语句写入的数是写入rec=1这条记录吗还是全部写入文件10后到rec=100??
谢谢大家!!!!
分享到:  微信微信
收藏收藏 点赞点赞 点踩点踩

35

帖子

6

主题

0

精华

熟手

F 币
151 元
贡献
94 点
沙发
 楼主| 发表于 2017-11-18 12:04:27 | 显示全部楼层
vvt 发表于 2017-11-18 11:39
第一个问题,带换行符的输出就可以了。
write(13,"(10(10es13.6,/))") a(1:100)

您好,我的第一个问题是想进行文本文件的直接读写,我做的东西必须有格式直接读写才行,这个文本文件号是13的话,我这样写对吗
120 FORMAT(10(10ES13.6,/))
WRITE(13,120,REC=1) a(1:100)
能达到我想要的效果吗?

35

帖子

6

主题

0

精华

熟手

F 币
151 元
贡献
94 点
板凳
 楼主| 发表于 2017-11-19 15:25:42 | 显示全部楼层
vvt 发表于 2017-11-18 14:15
试试这样
[mw_shl_code=fortran,true]Program Main
  Integer :: a(100)

您好,那个CRLF=char(13)//char(10)什么意思啊

35

帖子

6

主题

0

精华

熟手

F 币
151 元
贡献
94 点
地板
 楼主| 发表于 2017-11-19 16:51:21 | 显示全部楼层
   
[Fortran] 纯文本查看 复制代码
 subroutine TEXT2
      INTEGER A
      DIMENSION A(100)
      CHARACTER CRLF
      CHARACTER C(420)
      INTEGER i,j
      CHARACTER*80 ASCLIB
  120 format(10(10i4,a2))
      ASCLIB='45GTEST.txt'
      crlf=char(13)//char(10)
      OPEN(11,FILE=ASCLIB,STATUS='REPLACE',ACCESS='DIRECT',
     1         FORM='FORMATTED',RECL=420)
      DO i=1,100
          a(i)=55
      end do
      write(c,120) (a(j:j+9),CRLF,j=1,91,10)
      write(11,'(a)',rec=1) c
      close (11)
      return
      END
 
您能看看为什么我的这个运行一直报错吗

35

帖子

6

主题

0

精华

熟手

F 币
151 元
贡献
94 点
5#
 楼主| 发表于 2017-11-19 20:35:07 | 显示全部楼层
vvt 发表于 2017-11-19 19:50
CRLF的意思是“换行符”,你可以百度了解 CRLF
我给你的多好的代码,干嘛自己擅自修改?还改得那么丑不拉几 ...

您好, 谢谢您的回答,这个不是我必须要固定格式,只是我要改一个程序的源码,源码是固定格式的,所以我只能用固定格式,就自己试着把您给的这段自由格式改成固定格式的了,这个Character C应该怎么定义比较好啊

35

帖子

6

主题

0

精华

熟手

F 币
151 元
贡献
94 点
6#
 楼主| 发表于 2017-11-19 20:48:17 | 显示全部楼层
vvt 发表于 2017-11-19 20:44
Character(len=420) :: c
就这样定义,无需修改。

您好,我如果在固定格式里也可以对吗?
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2024-5-2 22:14

Powered by Tencent X3.4

© 2013-2024 Tencent

快速回复 返回顶部 返回列表