我有一个控制台应用程序,想要打印进度。但是,为了使其尽可能好,我想用回车符打印百分比更新,以便保持百分比更新,而不是添加具有新进度状态的新行。
使用回车键进行打印非常有效,直到得到的字符串超出控制台窗口的宽度为止。显然,回车不会返回到比控制台窗口长的字符串的开头。
是否有可能捕捉到这种情况并以某种方式再次从字符串的开头开始?
可视化问题:
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/