【问题标题】:Is it possible to refresh two lines of text at once using something like a CR? (C++)是否可以使用 CR 之类的东西一次刷新两行文本? (C++)
【发布时间】:2010-01-04 21:52:47
【问题描述】:

现在,我正在开发一个控制台应用程序,它应该以给定的时间间隔向控制台显示和更新信息。我遇到的问题是,使用回车,我一次只能更新一行文本。如果我使用换行符,则无法再使用回车更新旧行。

我可以在这里做什么?

【问题讨论】:

    标签: c++ console printf stdout cout


    【解决方案1】:

    您也许可以找到适用于您的平台的curses library 变体。

    【讨论】:

      【解决方案2】:

      正确的答案是使用 Mark 提到的 curses 库。但是,如果您使用的是类 Unix 系统并且不能被诅咒所困扰,那么快速而肮脏的解决方案是直接打印出 vt100 转义序列:

      http://ascii-table.com/ansi-escape-sequences-vt-100.php

      我经常这样做,尤其是在没有 curses 绑定的脚本语言中。

      【讨论】:

        【解决方案3】:

        这是一个非常丑陋的解决方案,但在紧要关头,您总是可以完全清除控制台,然后重新打印所有内容。在某些情况下,这种策略看起来有点难看;它可能会让事情看起来很模糊。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-01-07
          • 2011-10-12
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多