24小时热门版块排行榜    

查看: 438  |  回复: 2

point_light

铁虫 (小有名气)

[求助] 在文本和屏幕不能同时输出,这是为何啊,求指教

我是初学fortran,用的是silverfrost编辑器,最近在挑一个程序,遇到下面小程序类似问题:

比如随便一个简单f95程序:

PROGRAM  CURIE
REAL  X
OPEN(2,FILE='RAND.txt',STATUS='OLD')
X=2.0
WRITE(*,*) X
WRITE(2,1) X
1 FORMAT(F12.8)
CLOSE(2)
END CURIE

屏幕上没有输出结果,
两个2都输出到文本RAND.txt上了,不知道怎么才能在屏幕和文本上分别单独输出。
我研究了下,发现WRITE(*,*) X  这个语句前面打开的是哪个文本, 那么他就在这个文本上接着写,而不是跳出写在屏幕上.

这个问题很严重,我想在比较大的程序中加入一些特殊输出语句,用来观察程序运行的进度,这个问题不解决,很麻烦。
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

snoopyzhao

至尊木虫 (职业作家)

【答案】应助回帖


感谢参与,应助指数 +1
xzhdty: 金币+1, 专家考核, 感谢参与 2012-05-13 15:59:44
这个程序本身没有问题,会在屏幕上输出一个 2.0000000,也会在文本文件中输出结果的。

你如果觉得有问题,请检查你的编译、运行环境等等……
2楼2012-05-13 15:57:47
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

snoopyzhao

至尊木虫 (职业作家)

【答案】应助回帖


jjdg: 金币+1, 感谢参与 2012-05-14 01:26:36
另外,一个建议,不要使用 10 以下的 unit 来关联你的文件,比如你把 2 换成 12 之类的可能更好。

有可能你的编译器中对默认的 unit 不同……
3楼2012-05-13 15:59:16
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 爱玩辅助的亚瑟 的主题更新
信息提示
请填处理意见