5

可能重复:
如何从 C++ 中的命令行中删除打印的字符

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

如果我要展示这个。

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

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

4

1 回答 1

16

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

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

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

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

于 2012-12-26T16:17:30.323 回答