回 帖 发 新 帖 刷新版面

主题:文件无法正常读入

程序以及数据文件都是从国外的网站上下载下来的。程序编译成功,但运行的时候出现:
run-time error F6419:READ(文件名.bin)
-illegal structure for unformatted file
打开文件的代码是:OPEN(UNIT=IUOUT,FILE='OUTPUT.AEP',STATUS='NEW',
     &        FORM='FORMATTED')
请求高手解答。

回复列表 (共18个回复)

11 楼


我上传附件了怎么看不到,格式为.rar,在第一个主题修改的

12 楼


文件不能太大!

13 楼


文件才75.5K呀
这个问题,以前别人也遇到过,但没有解决。
http://bbs.pfan.cn/showtxt.asp?id=234286

14 楼


开个新帖,重新上传一下!

15 楼

我把那串代码的地址找出来了,地址如下:
ftp://hanna.ccmc.gsfc.nasa.gov/pub/modelweb/radiation_belt/
里面的radbelt的Fortran代码,代码也不长。
谢谢你了。

16 楼


我看了一下,初步有几个问题,我不知道别人是怎么正确运行的,可能是编译器依赖的。

1)打开文件里面的UNFORMATTED改成BINARY,即OPEN(IUAEAP,FILE=FNAME,STATUS='OLD',ERR=1822,FORM='BINARY')
2)READ(IUAEAP) IHEAD   IHEAD数组我的编译器默认的是integer(4),这样去读应该得到的是错误的数据,这导致下面的语句(NMAP=IHEAD(8);READ(IUAEAP) (MAP(I),I=1,NMAP))没法正确运行!似乎应该是integer(2)。


17 楼


你是高手,我一直都没有怀疑过这段代码,看来要检查这段代码了。

18 楼


integer确实是编译器依赖的!

程序中的integer被编译器解释成长整型了 4-byte,而实际应该是短整型 2-byte,因此,成功运行此程序的是用了比较老的编译器。

看来在新的编译器中,必须对涉及的整型变量重新定义成integer(2)才能正确运行。

我来回复

您尚未登录,请登录后再回复。点此登录或注册