我有一个控制台应用程序,想要打印进度。但是,为了使其尽可能好,我想用回车符打印百分比更新,以便保持百分比更新,而不是添加具有新进度状态的新行。

使用回车键进行打印非常有效,直到得到的字符串超出控制台窗口的宽度为止。显然,回车不会返回到比控制台窗口长的字符串的开头。

是否有可能捕捉到这种情况并以某种方式再次从字符串的开头开始?

可视化问题:

string = "This is a test string which is longer than the console";
  |<-      Console width       ->|
  |This is a test string which is|
->| longer than the console      |

回车使字符串从->开始打印,如上图所示

最佳答案

问题在于控制台窗口不同。在Windows平台上,您可以调整控制台的宽度和高度。

您也许可以找到一些API,这些API可以返回控制台窗口的高度和宽度。但是不需要平台来支持它。

有一些库可以帮助光标定位。搜索软件建议书(在StackExchange)以查看建议内容,或在Internet上搜索“c++光标位置库”。

关于c++ - C++控制台与回车符在同一行上打印,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45223433/

10-10 18:16
查看更多