2014-07-11 87 views
0

我希望我的mvwprintw語句在代碼中的一個點之後消失。我不知道如何刪除打印語句。是否有打印功能可以做到這一點?我試圖通過創建另一個充滿空間的陳述,認爲它會覆蓋現有的陳述,而且看起來很空白。我嘗試在網上查找,但找不到任何東西。請讓我知道是否有辦法。C - 有沒有辦法從我的窗口中刪除mvwprintw? (Ncurses)

+0

清除整個行「我試圖通過創建另一個完整的空間聲明認爲它會重疊它會顯得空白。「究竟發生了什麼?你能提供一些代碼來展示你的嘗試嗎? –

+0

什麼都沒有發生,前面的消息仍然顯示。 – user3753834

回答

0

我確實找到了一種方法,希望這可以幫助未來有同樣問題的人。你所要做的就是在你的陳述開始時加上\r,並且它會勝過之前在那個地方的任何東西。

mvwprintw(win2,3,16,"Hi."); 
mvwprintw(win2,3,16,"\rPlease make your first move."); //overwrites the "Hi" 
mvwprintw(win2,3,16,"\rPlease make your second move.");//overwrites the "Please make your first move" 

在打印語句中添加空格會擦除以前的消息。

+0

如果用較小的句子覆蓋上次打印的文本,它會正常工作嗎? –

+0

不,它會顯示以前未包含的文本的其餘部分。你可以解決這個問題,我在新句子的末尾添加空格。這將涵蓋這一切。 – user3753834

+0

好的,謝謝你的回答:) –

1

您可以通過移動到行

move(3,0); 

的開頭,然後清除行

clrtoeol(); 
相關問題