c++ - 如何在不使用 3rd 方库的情况下覆盖 Windows native C++ 控制台应用程序中控制台的相同部分?

标签 c++ windows console

我有一个控制台应用程序需要显示项目的状态,但与其疯狂地滚动文本,我宁愿看到当前状态一直显示在同一行上。举个例子:

Running... nn% complete
Buffer size: bbbb bytes

应该是输出,其中“nn”是当前完成百分比,“bbbb”是缓冲区大小,在控制台的同一行上定期更新。

我采用的第一种方法只是在打印新状态之前将正确数量的退格键打印到控制台,但这有一个令人讨厌的闪烁,我想摆脱它。我还想坚持使用标准库或 MS 提供的功能 (VC 8),以免为这个简单的需求引入另一个依赖项。

最佳答案

您可以使用 SetConsoleCursorPosition .您需要调用 GetStdHandle获取输出缓冲区的句柄。

关于c++ - 如何在不使用 3rd 方库的情况下覆盖 Windows native C++ 控制台应用程序中控制台的相同部分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45286/

相关文章:

windows - 命令行窗口

c++ - 是否可以重载 wcout << 运算符以将其替换为 WriteConsoleW?

Eclipse(STS)+ Maven

c++ - 使用 complex<double> 的函数式转换的模糊转换

c++ - 模板参数推导如何区分左值和文字/编译时值

php - 在 Apache 启动/重启时在后台运行 PHP 脚本 (Windows Server)

c++ - 跨应用消息的PostMessage

c++ - 在控制台上显示 BMP 图像时堆损坏

具有动态内存的类的 C++ 五规则

c++ - C++ 中的自动评估策略选择