当前位置: 首页 > 面试题库 >

如何在终端中更新打印的消息而无需重新打印

巫墨一
2023-03-14
问题内容

我想为我的终端应用程序制作一个进度条,该进度条的工作原理如下:

 [XXXXXXX       ]

这样可以直观地表明在该过程完成之前还剩下多少时间。

我知道我可以通过将它们添加到字符串中,然后简单地使用printf,来执行诸如打印越来越多的X的操作,但这看起来像:

 [XXXXXXX       ] 
 [XXXXXXXX      ] 
 [XXXXXXXXX     ] 
 [XXXXXXXXXX    ]

或类似的东西(显然您可以按一定的间距来玩。)但是,这在视觉上并不美观。有没有一种方法可以用新文本更新终端中的打印文本而无需重新打印?这一切都在linux,c
++下。


问题答案:

尝试使用\r而不是\n在打印新的“版本”时使用。

for(int i=0;i<=100;++i) printf("\r[%3d%%]",i);
printf("\n");


 类似资料:
  • 在航站楼如何做到这一点?

  • 我正在使用Python 3.8执行一个Discord bot,我在_member_join()上的事件

  • 问题内容: 我想打印一些日志以进行调试和测试,但是现有日志量很大,因此我想将自己的日志打印到stderr: 这样我就可以看到自己的日志。 我怎样才能做到这一点? 问题答案: 默认情况下,程序包将打印为。 您也可以直接使用(是)。

  • 问题内容: 在Swift 2.0中,会自动添加换行符。在迅速1.2,和以前是独立的功能。因此,我如何打印一些文本而不在其中添加换行符,因为swift不再具有不添加换行符的打印功能。 问题答案: 从Swift 2.0开始,不带换行符的推荐打印方法是:

  • 问题内容: 我想制作一个在python终端中打印颜色的程序,但我不知道如何。我听说您可以使用某些转义序列将彩色文本打印出来,但是我不确定。如何使用python终端以特定颜色打印字符串? 旁注:我运行的是Linux版本。 问题答案: 尝试该模块。 另外,您可以使用ANSI代码:

  • 这是我的代码: 在VS代码终端中打印: 如何修复它,以便VS Code终端正确显示文本?