爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 2734|回复: 8

[求助] fortran直接存取中如何换行的问题

[复制链接]

新浪微博达人勋

发表于 2016-1-6 15:04:44 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
110以及它们的平方数、立方数存放到TAB.txt 文件中,我用直接存取的方法
open(11,file='e:\tab.txt',status='new',access='direct',form='formatted',recl=23)
do i=1,10
a=i**2
b=i**3
write(11,100,rec=i)i,a,b
enddo
100 format (i3,2f10.2)
close(11)

但是写出来的TXT中没有分行,我希望每一组数据为一行,但是写出来的文件中所有数字均在一行,如何处理?
(P.S.我尝试过加“100 format (i3,2f10.2,/)”那个斜杠,但是还是不行)
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-1-6 15:48:57 | 显示全部楼层
应该是每执行一次write都自动换行的吧
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2016-1-6 15:57:13 | 显示全部楼层
bekaku 发表于 2016-1-6 15:48
应该是每执行一次write都自动换行的吧

我试了好几遍,如果是顺序存取会直接换行,但是直接存取就换不了行
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-1-6 16:40:53 | 显示全部楼层
啥编译器啊?
试试recl=3行不行,format可以直接*
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2016-1-7 10:28:53 | 显示全部楼层
lqouc 发表于 2016-1-6 16:40
啥编译器啊?
试试recl=3行不行,format可以直接*

fortran,不行啊,试过了
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-1-7 11:05:33 | 显示全部楼层
爱吃爱吃 发表于 2016-1-7 10:28
fortran,不行啊,试过了

我还能不知道是fortran啊,问的是哪家的编译器,compaq还是intel。
想要一个记录输出3个变量,但是前面的recl=23,这个如果在compaq编译器下是不合适的。
至于输出的换行,我想这个很可能只是在文本下看起来不换行。你可以试试对输出文件直接读取某个记录,如果能正确读取就说明之前有一个不可见的记录切换符。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-1-7 16:54:50 | 显示全部楼层
open(11,file='e:\tab.txt',status='new',access='direct',form='formatted',recl=23)
孤陋寡闻了…direct不是只能用于unformatted么…
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-1-7 17:05:16 | 显示全部楼层
试验了一下,这种写法是可以的,不过我没用过。感觉direct是不是不存在所谓的”换行“的说法,因为direct读取是以”块“作为单位呀,而不是formatted那种可视的一行行的。
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

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