2011-10-06 104 views
3

我的問題是刪除控制檯中已經寫入的字符。有沒有辦法做到這一點?我可以說我給控制檯寫了10個空格。我可以刪除一些爲其他字符騰出空間而不輸出10個字符的輸出嗎?我使用了一個特殊的庫,給出了在控制檯中寫入的函數等。控制檯寫入,刪除字符

回答

9

使用'\b'。它會刪除一個字符,光標移回:

std::cout << "nawaz"; //screen shows : nawaz 
std::cout << '\b'; //'z' is erased, now screen shows : nawa 
+0

呵呵,我一直在編程C++多年,從來不知道那個轉義代碼。 –

+2

永遠不會刪除新行。 –

1
do { 

cout<<"\b"<<num--; 

} 

while (num >0); 
+0

這是C++,而不是C#。 – Nawaz

+0

所以要刪除當前空間,我必須將光標移動到右側,然後寫\ b,謝謝:) –

+0

@Alon_A:應該是'「\ b」'而不是'「\ n」' ? –

0

取決於終端的類型,你使用,你可以使用escape codes來控制它。

對於Windows,如果我沒有記錯的話,還有API函數。