如何在运行控制台时更改文本

时间:2012-12-26 16:14:20

标签: c++

  

可能重复:
  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%。这甚至可能吗?提前谢谢。

1 个答案:

答案 0 :(得分:14)

使用cout << number << '\r' << flush

'\r'表示“回车”(转到行首“,flush表示”确保我刚打印的内容现在到达输出。通常输出仅在打印时打印提供了行尾。

编辑:如果您遇到输出长度变化的情况,例如:倒计时,你必须用足够的空间填充输出,以覆盖任何额外的输出。例如,cout << setw(3) << number ...cout << number << " " ...可以使用。

但是,请注意,如果您的线条长度超过终端/命令窗口的宽度,它可能会变得混乱。