【问题标题】:How to change text while running the console [duplicate]如何在运行控制台时更改文本[重复]
【发布时间】:2012-12-12 03:54:23
【问题描述】:

可能重复:
How to delete printed characters from command line in C++

我的问题是,如何在 C++ 中运行控制台窗口时更改文本。例如。

如果我要展示这个。

cout<<"0%";
cout<<"25%";
cout<<50%";
cout<<75%";
cout<<"100%";

它会产生 5 个不同的单词。如果我希望它显示 0% 然后 25% 而无需创建一个新词,即用 25% 替换当前的 0% 怎么办。这甚至可能吗?提前致谢。

【问题讨论】:

标签: c++


【解决方案1】:

使用cout &lt;&lt; number &lt;&lt; '\r' &lt;&lt; flush

'\r' 的意思是“回车”(转到行首),flush 的意思是“确保我刚刚打印的内容现在到达输出。通常只有在行尾出现时才会打印输出提供。

编辑:如果您遇到输出长度变化的情况,例如倒计时,您将不得不用足够的空间填充输出以覆盖任何额外的输出。例如cout &lt;&lt; setw(3) &lt;&lt; number ...cout &lt;&lt; number &lt;&lt; " " ... 会起作用。

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

【讨论】:

  • 但是如果你打印“25%”然后“0%”,它会显示为“0%%”还是原来的“%”会消失?
  • 更新了我的答案以涵盖该部分。
  • 所以基本上我需要输入: cout
  • 是的,但我想你想在这两者之间做更多的事情?
  • 如果我想转换 cout
猜你喜欢
  • 2017-05-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-03
相关资源
最近更新 更多