看板 EE_DSnP 關於我們 聯絡資訊
如標題所述 若 file1 裡面是寫(只有二行): mset 6 mvar x 7 則執行 mcalc> do file1 以後,出現如下: mcalc> mset 6 mcalc> mvar x 7 x = 1 mcalc> mcalc> ↑這是游標的位置 發生的原因是不是在 readCmd(*_dofile); ( 先假設這兒的 _dofile = new ifstream("file1"); ) _dofile 在送出二次字串後 _dofile 仍然不是 0 好像是要再多呼叫一次 才會使得 _dofile == 0 我所能想到的只有 eof : 送出 end of file 後才會變為 0 這只是我的猜測 是不是就是多了這一次 才使 mcalc> 多一次 原本也想要把多這一次消去 但後來看 modCalc.ref 也是一樣會多一次 所以是不是以 modCalc.ref 為準就好了 謝謝老師 --- 寫到變成習慣了 剛剛按了 :wq --- -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.252.220
ric2k1:我查一下, 但是這種差一個空行的的差別可以不用在意, 我們 04/10 01:53
ric2k1:不會因此扣分的. 04/10 01:53
同樣地 這個情形 file1 內有 do file2 指令時 便會更嚴重,當執行完 do file2 這行時 會在結束時多出一個mcalc> 而pop出 file1 _dofile 所剩下的指令後 執行完又會在結束時多出一個mcalc> 如果 recursive 越多 畫面真的會變得怪怪的 還以為是有跑出空白行的指令 但 modCalc.ref 跑出的結果 就和我的 modCalc 一樣 所以應該是做到這兒就好了吧 還有 我想要問 : 因為 pop() 不回傳 stack 內所存的值 所以應該是要用 top() 然後用 pop() 吧? 第二個問題 bool pushDofile(); bool popDofile(); 的回傳 應該是指 _dofileStack 滿了無法 push 或是 _dofileStack 沒有東西 pop 時 要 return false; 吧 謝謝老師 ※ 編輯: goodword 來自: 140.112.252.220 (04/10 13:34)