24小时热门版块排行榜    

查看: 1068  |  回复: 7

xk6891

至尊木虫 (著名写手)

[求助] 设定读到行尾终止出现问题

CODE:
open(16,file='bond_analyse.txt',status='old')
i=1
do while(.true.)
read(16,"(A50)",iostat=iso1)in_filename
read(16,"(A50)",iostat=iso1)out_filename
call bond_judge(in_filename,out_filename)
!print *, i
!print *, in_filename
!print *, out_filename
if(iso1<0)exit
i=i+2
end do
close(16)

CODE:
x97_out
x98
x98_out
x99
x99_out
x100
x100_out

第一段为所写的一点代码,第二段为要处理的部分数据(x100_out后还有一个空行,文件结束),由于出现问题,我采用print打出来i和文件名看一看,结果发现本该通过判断if(iso1<0)exit在文件末尾结束的读取没有结束,print结果是(无限循环)
CODE:
        2553
x100                                                                           
x100_out                                                                       
        2555
x100                                                                           
x100_out                                                                       
        2557
x100                                                                           
x100_out      
……………………

问题出在哪里呢?大侠们帮帮忙

[ Last edited by xk6891 on 2011-6-19 at 11:00 ]
回复此楼
人生自古多险阻,勤者自得天酬助。试问否泰何所依,枯藤老枝待新抽。临渊踌躇终迈步,振翅鹏起云霄冲。似是前程甚堪忧,他日振臂揽苍穹。
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xk6891

至尊木虫 (著名写手)

我弱,判断条件改为if(iso1>0)exit虽然不会无限循环了,但是会输出两次x100,这个对后面影响巨大        
        205
x100                                                                           
x100_out                                                                       
         207
x100                                                                           
x100_out
人生自古多险阻,勤者自得天酬助。试问否泰何所依,枯藤老枝待新抽。临渊踌躇终迈步,振翅鹏起云霄冲。似是前程甚堪忧,他日振臂揽苍穹。
2楼2011-06-19 11:17:26
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

snoopyzhao

至尊木虫 (职业作家)

【答案】应助回帖

★ ★
xk6891(金币+8): 果真~~专家真神人也~~ 2011-06-19 11:33:27
jjdg(金币+2): 感谢应助 2011-06-19 13:19:59
把 if(iso1/=0)exit 放到 call 之前就没有问题了……
3楼2011-06-19 11:24:32
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xk6891

至尊木虫 (著名写手)

引用回帖:
Originally posted by snoopyzhao at 2011-06-19 11:24:32:
把 if(iso1/=0)exit 放到 call 之前就没有问题了……

为什么啊,还是不理解,子程序并没有对其产生影响啊?求专家指导
人生自古多险阻,勤者自得天酬助。试问否泰何所依,枯藤老枝待新抽。临渊踌躇终迈步,振翅鹏起云霄冲。似是前程甚堪忧,他日振臂揽苍穹。
4楼2011-06-19 11:34:20
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xk6891

至尊木虫 (著名写手)

为什么会一次又一次回去读出x100和x100_out呢,感觉顺序读取,已经走过去了,不应该再回头阿
人生自古多险阻,勤者自得天酬助。试问否泰何所依,枯藤老枝待新抽。临渊踌躇终迈步,振翅鹏起云霄冲。似是前程甚堪忧,他日振臂揽苍穹。
5楼2011-06-19 11:37:19
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

snoopyzhao

至尊木虫 (职业作家)

★ ★ ★
微尘、梦想(金币+3): 感谢参与应助! 2011-06-19 17:16:51
引用回帖:
Originally posted by xk6891 at 2011-06-19 11:34:20:
为什么啊,还是不理解,子程序并没有对其产生影响啊?求专家指导

放在子程序之前是确保你调用时用到的参数是正确的。当 ios /= 0 时,即读到文件结束处了,但 read 语句还是执行了,这时,两个参数可能取任意结果,当这个结果被传递到子程序中之后,便可能产生出人意料的结果。

我的习惯是,任何时候,这种判断都接跟着 read 语句,不管如何,读到文件结束处,就立即跳出读文件的循环。
6楼2011-06-19 13:42:22
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

snoopyzhao

至尊木虫 (职业作家)

引用回帖:
Originally posted by xk6891 at 2011-06-19 11:37:19:
为什么会一次又一次回去读出x100和x100_out呢,感觉顺序读取,已经走过去了,不应该再回头阿

这里的 x100 和 x100_out 不见得是从文件中读出来的……
7楼2011-06-19 13:44:14
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xk6891

至尊木虫 (著名写手)

引用回帖:
Originally posted by snoopyzhao at 2011-06-19 13:42:22:
放在子程序之前是确保你调用时用到的参数是正确的。当 ios /= 0 时,即读到文件结束处了,但 read 语句还是执行了,这时,两个参数可能取任意结果,当这个结果被传递到子程序中之后,便可能产生出人意料的结果 ...

明白了,设定循环的时候,下次我一定要小心
谢谢您耐心的解释
人生自古多险阻,勤者自得天酬助。试问否泰何所依,枯藤老枝待新抽。临渊踌躇终迈步,振翅鹏起云霄冲。似是前程甚堪忧,他日振臂揽苍穹。
8楼2011-06-20 13:21:59
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 xk6891 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 投票:  有多少人是今天查系统知道结果的? +15 爱看书的可乐 2026-08-26 17/850 2026-08-27 02:26 by xxniao123
[基金申请] 基金不中,共勉 +5 eulota 2026-08-26 5/250 2026-08-26 23:33 by young90
[基金申请] 我不理解! +15 Edward_pc 2026-08-26 23/1150 2026-08-26 20:34 by zzuzxg
[基金申请] 2026年的国家社科基金项目通讯评审的新规则与新动向、新挑战 +7 process2012 2026-08-23 10/500 2026-08-26 19:23 by hmhminy
[基金申请] 范进中举一文的中心思想 +9 炎黄贵胄 2026-08-22 10/500 2026-08-26 15:40 by semaglutide
[基金申请] 国合里面能看到了 +7 一怀馨秋 2026-08-26 7/350 2026-08-26 11:23 by zhaosm1982
[基金申请] 国合可查了 +3 paperzjh 2026-08-26 3/150 2026-08-26 10:41 by LemmonTr
[基金申请] 今天务委会开完了,明天出结果吗 +19 angus9576 2026-08-25 23/1150 2026-08-26 10:03 by zp519
[基金申请] 国合现在查不到了吗? +10 chengyan1220 2026-08-24 20/1000 2026-08-26 08:57 by peasantsprig
[基金申请] 牛来!米来!面来! +8 beefly 2026-08-26 8/400 2026-08-26 08:37 by xuzhipiao
[基金申请] 明天应该可查了!? +6 chengyan1220 2026-08-23 6/300 2026-08-25 19:45 by zfd97
[基金申请] 某些机构,以效率低为荣,以效率低作为存在感 +9 yuleib84 2026-08-25 10/500 2026-08-25 17:14 by alexon
[基金申请] 如果此刻你正在为国基感到焦虑,不妨来听听这首《基金之外》 +8 scalable 2026-08-24 8/400 2026-08-25 12:52 by jnhyjjm
[基金申请] 没有任何消息-是不是就凉了 +9 图啦图啦 2026-08-24 10/500 2026-08-25 11:59 by 南海小哥
[教师之家] 导师吐槽:我怎么摊上了这么个极品研究生! +3 苏东坡二世 2026-08-23 3/150 2026-08-25 10:35 by shisan1313
[基金申请] 建议基金发布提前给出明确的时间点 +13 kulium 2026-08-21 16/800 2026-08-24 16:27 by superceng
[基金申请] 让我中一个面上吧! +13 大萍1987 2026-08-20 16/800 2026-08-24 10:23 by 太傻了
[基金申请] 看来今天不会放榜了? +8 chengyan1220 2026-08-21 11/550 2026-08-21 17:52 by dcqxinyang
[基金申请] 时间戳又变了 +13 wuchongjun 2026-08-20 19/950 2026-08-21 17:21 by 紫杉醇
[基金申请] 应该是下周三26日公布了吧? +4 哈哈蛤? 2026-08-21 4/200 2026-08-21 10:58 by Vivilian
信息提示
请填处理意见