控制台写入,删除字符

3

我的问题涉及在控制台中删除已经写入的字符。有没有办法做到这一点?比如我在控制台上写了10个空格,我能不能删除其中的一些,为其他字符腾出空间,而输出不超过10个字符?我使用一个特殊的库,其中包含写入控制台等功能的函数。

3个回答

10

使用'\b'。它会擦除一个字符,并将光标向后移动:

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

哎呀,我已经用C++编程很多年了,从来不知道那个转义码。 - Mooing Duck
2
永远不会删除换行符。 - Tomáš Zato

2
do {

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

}

while ( num >0 ); 

所以要删除当前的空格,我必须将光标移动到右侧,然后写入 \b,谢谢 :) - Bartlomiej Lewandowski
@Alon_A:这应该是 "\b" 而不是 "\n" 吗? - Mooing Duck
@MooingDuck: 是的,已经修复了 :) - Alon Adler

0

根据您使用的终端类型,您可以使用转义代码来控制它。

对于Windows,如果我没记错的话,也有API函数可用。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接