回 帖 发 新 帖 刷新版面

主题:求助

别人编的fortran代码,数据写成无格式的文件,自己想看里面的数据,就把代码修改一下写成有格式的,但是运行出错,run-time error F6204: WRITE(coor0)
- unformatted I/O not consistent with OPEN options,是为什么啊?请大家给些指点!不胜感激!

回复列表 (共6个回复)

沙发

问题1,你现在有别人的源代码吗?还是只有结果数据?
问题2,你要做的工作是修改别人的源代码,使之直接保存为有格式文件?还是新写程序要把别人已经保存的无格式文件转换成有格式文件?

问题3,你Open语句和Write语句怎么写的?

板凳


回答1:有别人的源代码;
回答2:我现在的工作是运行这段代码到一个具体问题时出错了,所以我想看看其中的数据文件,但代码里输出的是无格式的文件,所以我想修改一下让它输出有格式的文件;
回答3:这是其中一段
(原来的) open(11,file='coor0',form='unformatted',status='unknown')
           write(11) maxnod,nd,((coor(i,j),j=1,nd),i=1,maxnod)
现在我把其中 form='unformatted'改为 form='formatted'就会出现
run-time error F6204: WRITE(coor0)
- unformatted I/O not consistent with OPEN options

(真的很谢谢你,现在我的fortran学习属于初级自学,学的比较郁闷,第一次发帖求助,真的很谢谢你啊!)

3 楼

错误应该不在这个地方。

你看看是否有类似 WRITE(coor0) 的语句?

4 楼


问题不在这里吗?可是往coor0里写的语句只有这一个地方!那会错在哪里?

5 楼

你在这个 write 上下个断点,然后运行。看先触发断点,还是先出错?

6 楼


谢谢你啊,问题找到了,在写文件的时候必须是写成有格式的形式,比如write(1,*),虽然还不知道为什么是这样,但写成这样是通过的!谢谢你的帮忙啊!

我来回复

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