Io 将表格记录写入格式化的直接访问文件
我有类似的记录,我正试图创建一个格式化的直接访问文件的基础上相对朱利安日期(这是转换工作正常)。 记录结构为: 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. 的文件打开语句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 . . . . . .
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)