作者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