作者qbcenter (Q逼中)
看板EE_DSnP
标题[问题] 关於dofile
时间Tue Nov 16 17:30:22 2010
请问一下
我在执行dofile时,要是丢一个无效的档案名称给他,像是mcalc> do tt
会显示Error: cannot open file "tt"!!
然後就开始不停的输入^G,电脑就开始不断的逼逼叫...
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.248.154
1F:推 ric2k1:应该是你的 DOfile 的 command exec() 写得有问题,在读取 11/16 20:18
2F:→ ric2k1:dofile 失败之後仍然继续想要读东西? Anyway, 开个 debugge 11/16 20:19
3F:→ ric2k1:看一下! 11/16 20:19
4F:→ qbcenter:Dofile的command exec()不是已经写好了,可以更动它吗? 11/16 22:09
※ 编辑: qbcenter 来自: 140.112.248.154 (11/16 22:33)
5F:推 ric2k1:哦,对ㄟ,那你 openDofile() 里头有做什麽事情吗? 11/16 22:51
6F:→ qbcenter:if(!_dofile->is_open()) {_dofile=0;return false;} 11/16 23:10
7F:→ qbcenter:我assign一个0给_dofile就不会逼逼叫,只是仍然不会继续 11/16 23:10
8F:→ qbcenter:读下一个指令 11/16 23:11
9F:推 ric2k1:可以开个 debugger step in 进去看看它是哪里在叫吗? 11/16 23:22
10F:→ qbcenter:好像是因为execOneCmd()里判断_dofile==0 於是就丢cin到 11/16 23:50
11F:→ qbcenter:readCmd里... 11/16 23:50
12F:→ qbcenter:喔我解决了,利用stack纪录在哪一层,再判断要回传何值 11/17 00:47
13F:推 ric2k1:太好了~~~ 11/17 02:05
14F:→ qbcenter:谢谢教授 11/17 09:19