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

标签 c++

<分区>

Possible Duplicate:
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%。这可能吗?提前致谢。

最佳答案

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

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

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

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

关于c++ - 如何在运行控制台时更改文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14043148/

相关文章:

c++ - 使用类型转换在单个 vector 中包含不同的对象

c++ - boost::filesystem::exists 在带有 boost v1.75 的 CentOS 8 docker 上抛出操作不允许异常

c++ - 为什么我在 dev c++ 中使用 "gets function"后不能使用 "cin function"?

c++ - 我使用什么 C/C++ 库来更改 Windows 中的 HTTP 数据包?

c++ - 模板参数与声明不兼容

C++ Primer Plus this 指针示例

c++ - 在 VB6 中使用 IUnknown 派生的 C++ COM 对象

C++ 问题,将 wchar_t* 转换为字符串

c++ - 通过递增更改文件名

c++ - C++ 和 OpenCV 中多个对象的 vector 和原始类型的 vector