看板 EE_DSnP 關於我們 聯絡資訊
: 在class CmdParser有一個function reprintCmd() : 因為之前hw2沒有這個function : 所以不清楚他的定義 : 又覺得在TAB部份好像會用到 : 所以想弄清楚來決定能不能用 : 我猜測是依照_readBuf _readBufPtr _readBufEnd的狀態重新print到螢幕上 : 但不是很確定 : 不知道老師能不能解惑一下 : 還是其實我們是不應該用到那個function啊 : : -- : ※ 發信站: 批踢踢實業坊(ptt.cc) : ◆ From: 140.112.249.129 : → wmin0:自己測的結果是會先print newline 然後再把buf狀態顯示出來 10/27 15:14 : 我剛剛也測試過了, 一樓說得沒錯 (謝謝一樓) : 會先newline之後 : prinrPrompt()再把buf狀態顯示到螢幕上 : ※ 編輯: vuluy 來自: 140.112.249.129 (10/27 15:53) 啊! 沒錯,這是一個我在 listCmd() 會呼叫到的 function, 寫在 cmdReader.cpp 裏頭。但因為 cmdReader.cpp 已經 compile 成 .o 了, 所以大家看不到... 不過既然已經包含在 .o 檔裏頭了,大家享用就拿去用吧! 它的 implementation 如下: // Reprint the currnet command to a newline // cursor should be restored to the original location void CmdParser::reprintCmd() { cout << endl; char *tmp = _readBufPtr; _readBufPtr = _readBufEnd; printPrompt(); cout << _readBuf; moveBufPtr(tmp); } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.36.48.100