Fortran Coder

查看: 18892|回复: 9
打印 上一主题 下一主题

[求助] fortran6.6文件续写

[复制链接]

1967

帖子

12

主题

5

精华

论坛跑堂

臭石头雪球

F 币
1370 元
贡献
581 点

美女勋章热心勋章星光勋章新人勋章贡献勋章管理勋章帅哥勋章爱心勋章规矩勋章元老勋章水王勋章

楼主
发表于 2014-1-24 20:23:50 | 显示全部楼层
嗯,如果还是有问题,可以试着上传数据文件和所有源代码(如果不是特别多的话)。

1967

帖子

12

主题

5

精华

论坛跑堂

臭石头雪球

F 币
1370 元
贡献
581 点

美女勋章热心勋章星光勋章新人勋章贡献勋章管理勋章帅哥勋章爱心勋章规矩勋章元老勋章水王勋章

沙发
发表于 2014-1-24 22:03:20 | 显示全部楼层
你没给数据文件,我没有跑这个程序,只能肉眼看。不一定准确。

以下是猜想:

[Fortran] 纯文本查看 复制代码
do i=2,5
                print*,'*',i
                call writeoption(filename(i),'option.txt')
                call filetofile('option.txt','option1.txt')
        enddo


这里先调用 writeoption,然后调用 filetofile

在 writeoption 里,通过 open(30,file=name2) 打开了 option.txt ,而且不是 append 的。
在某些情况下,30 会被 Close,某些情况下,不会被 Close。

而到了 filetofile 函数内,直接就 Open(30),如果此时 30 在之前并没有关闭,这里的 open(30,file=trim(name1),status='old',position='append') 就会失败

你试试在 writeoption 函数里,把 30 换成其他的。
或者在 filetofile 一开始,先 close(30)

1967

帖子

12

主题

5

精华

论坛跑堂

臭石头雪球

F 币
1370 元
贡献
581 点

美女勋章热心勋章星光勋章新人勋章贡献勋章管理勋章帅哥勋章爱心勋章规矩勋章元老勋章水王勋章

板凳
发表于 2014-1-24 22:34:07 | 显示全部楼层
在你的代码79行,有 close(30)
但是前面有跳转到 350 行的情况,此时,就没有执行 close(30)
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2024-5-17 15:01

Powered by Tencent X3.4

© 2013-2024 Tencent

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