爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 13838|回复: 11

[求助] fortran读取二进制文件的问题

[复制链接]

新浪微博达人勋

发表于 2011-9-28 10:50:33 | 显示全部楼层 |阅读模式

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

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

x
用如下语句读二进制文件,
open(11,file='file1',form='unformatted',RecL=4)
运行完后,提示forrt1:severe<39>:error during read

改成
open(11,file='file1',form='binary',RecL=4)可以读,但读出的数据有误,请高手指教

密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2011-9-28 10:57:50 | 显示全部楼层
severe (36): Attempt to access non-existent record
FOR$IOS_ATTACCNON. A direct-access READ or FIND statement attempted to access beyond the end of a relative file (or a sequential file on disk with fixed-length records) or access a record that was previously deleted from a relative file.
上面是错误的原因,所以检查一下数据格式是否和读写语句是否匹配

评分

参与人数 1金钱 +2 收起 理由
mofangbao + 2

查看全部评分

密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2011-9-28 11:13:38 | 显示全部楼层
添加了access='sequential',还是一样的问题
密码修改失败请联系微信:mofangbao

新浪微博达人勋

0
早起挑战累计收入
发表于 2011-9-28 11:14:31 | 显示全部楼层
得先理解你的数据格式 还有看下彭国伦fortran书上面的二进制读写那部分,理解一下RECL的用法,然后就能比较好的按自己的需要去读取了,RECL表示的是区块的大小,这个得和你每次要读取数据的多少关联起来,如果读取的数据多,你还得再继续读取区块里的内容,书上讲的比较全面,也有例子,我说的是个人理解,不一定准确,你先对照书上的例子练习试试
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 成长值: 0
发表于 2011-9-28 12:01:59 | 显示全部楼层
你的这个数据没有后缀名吗?直接就是光的啊?“file1“???
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 成长值: 0
发表于 2011-9-28 12:02:05 | 显示全部楼层
你的这个数据没有后缀名吗?直接就是光的啊?“file1“???
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2011-9-28 12:16:36 | 显示全部楼层
二进制文件,跟后缀名无关
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2011-9-28 12:57:58 | 显示全部楼层
RECL 应该改一下  等于你的记录数目就行了
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2012-12-1 15:59:57 | 显示全部楼层
我的也是这种情况请问你最后是怎么解决的呢,这个是属于什么问题呢?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-3-11 09:56:36 | 显示全部楼层
记录目数怎么才能知道?
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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