可能重复:
How to delete printed characters from command line in C++
我的问题是,如何在C ++中运行控制台窗口时更改文本。例如。
如果我要显示它。
cout<<"0%";
cout<<"25%";
cout<<50%";
cout<<75%";
cout<<"100%";
它会产生5个不同的单词。如果我希望它显示0%然后25%而不是一个新词怎么办,I.E用25%代替当前的0%。这甚至可能吗?提前谢谢。
答案 0 :(得分:14)
使用cout << number << '\r' << flush
。
'\r'
表示“回车”(转到行首“,flush
表示”确保我刚打印的内容现在到达输出。通常输出仅在打印时打印提供了行尾。
编辑:如果您遇到输出长度变化的情况,例如:倒计时,你必须用足够的空间填充输出,以覆盖任何额外的输出。例如,cout << setw(3) << number ...
或cout << number << " " ...
可以使用。
但是,请注意,如果您的线条长度超过终端/命令窗口的宽度,它可能会变得混乱。