Io 将表格记录写入格式化的直接访问文件

Io 将表格记录写入格式化的直接访问文件,io,fortran,Io,Fortran,我有类似的记录,我正试图创建一个格式化的直接访问文件的基础上相对朱利安日期(这是转换工作正常)。 记录结构为: abc00 20160701 01 -99.0 -99.0 -99.0 -99.0 -99.0 -99.0 -99.0 -99.0 abc00 20160701 02 -99.0 -99.0 -99.0 -99.0 -99.0 -99.0 -99.0 -99.0 ...... abc00 20160701 08 -99.0 etc . . . . . .

我有类似的记录,我正试图创建一个格式化的直接访问文件的基础上相对朱利安日期(这是转换工作正常)。 记录结构为:

abc00 20160701 01 -99.0 -99.0 -99.0 -99.0 -99.0 -99.0 -99.0 -99.0 abc00 20160701 02 -99.0 -99.0 -99.0 -99.0 -99.0 -99.0 -99.0 -99.0 ...... abc00 20160701 08 -99.0 etc . . . . . . abc00 20160702 01 etc. 的文件打开语句

 OPEN(90,FILE=MODDB(1:ld)//swmo//db, ACCESS='DIRECT',RECL=640,FORM='FORMATTED',status='new',iostat=ios)   
写一些陈述,比如

write(90,DBfmt,rec=id,iostat=ios) (output(i),i=1,npr)

在一个循环中

我每次给90单元写东西都会出错。
如果能在这方面得到任何帮助,我将不胜感激

你会遇到什么样的错误?ios值是多少?谢谢@IanH。我只检查了ios/=0。所以我无法回答你的问题。我发现(8(a5,“,i8,”,i2.2,8(“,f8.1),”)”和recl为720的组合工作正常。尽管英特尔编译器给出的记录长度为1156。您可以使用IOMSG说明符获取错误描述,也可以删除IOSTAT说明符,查看Fortran处理器在终止程序时所说的话。您会得到什么样的错误?ios值是什么?谢谢@IanH。我只检查了ios/=0。所以我无法回答你的问题。我发现(8(a5,“,i8,”,i2.2,8(“,f8.1),”)”和recl为720的组合工作正常。尽管英特尔编译器给出的记录长度为1156,但您可以使用IOMSG说明符获取错误描述,也可以删除IOSTAT说明符,查看Fortran处理器在终止程序时所说的话。
write(90,DBfmt,rec=id,iostat=ios) (output(i),i=1,npr)
write(90,DBfmt,rec=id,iostat=ios) output(i)