我想为我的终端应用程序创建一个进度条,它的工作方式如下:
[XXXXXXX ]
Run Code Online (Sandbox Code Playgroud)
这将在过程完成之前提供剩余时间的可视指示.
我知道我可以通过将它们添加到字符串然后只是printf来打印越来越多的X,但这看起来像:
[XXXXXXX ]
[XXXXXXXX ]
[XXXXXXXXX ]
[XXXXXXXXXX ]
Run Code Online (Sandbox Code Playgroud)
或类似的东西(显然你可以玩间距.)但这在视觉上不美观.有没有办法用新文本更新终端中的打印文本而无需重新打印?这都是linux,c ++.
是否可以在不清除屏幕的情况下修改我打印到终端的文本?
例如,如果我以百分比显示某些内容的进度,我是否可以修改该百分比而无需清除屏幕并再次打印?我正在寻找一种跨平台的方式,如果有的话.
谈论C++.
谢谢
很多时候我见过基于文本的程序来替换已经打印过的文本.例如,想象一个将进度打印为的程序
Loading: 5%
Run Code Online (Sandbox Code Playgroud)
然后它说
Loading: 10%
Run Code Online (Sandbox Code Playgroud)
等等,没有打印附加的新文本?
这是怎么做到的?我还没有在库中看到任何这样的函数(在本例中为C).不过我有一个想法:你可以编写一个字符,将提示返回到当前行的开头(\r我相信).这可以用来"覆盖"你已经打印到命令提示符的内容吗?