我正在创建一个需要进度条的小型控制台应用程序。像...
Conversion: 175/348 Seconds |========== | 50%
我的问题是,如何清除已打印到控制台的字符?当我达到第 51 个百分比时,我必须从控制台中删除这一行并插入一个新行。在我当前的解决方案中,这就是发生的事情......
Conversion: 175/348 Seconds |========== | 50%
Conversion: 179/348 Seconds |========== | 52%
Conversion: 183/348 Seconds |========== | 54%
Conversion: 187/348 Seconds |=========== | 56%
我使用的代码是...
print "Conversion: $converted_seconds/$total_time Seconds $progress_bar $converted_percentage%\n";
我在 Linux 中使用 PHP 执行此操作(只有我会使用该应用程序 - 所以请原谅语言选择)。因此,该解决方案应该可以在 Linux 平台上运行 - 但如果您有一个跨平台的解决方案,那将是更好的选择。
最佳答案
我认为您无需为语言选择道歉。 PHP 是一种用于控制台应用程序的出色语言。
试试这个:
<?php
for( $i=0;$i<10;$i++){
print "$i \r";
sleep(1);
}
?>
“\r”将用新文本覆盖该行。要换行,您可以使用“\n”,但我猜您已经知道了。
希望对您有所帮助!我知道这适用于 Linux,但我不知道它是否适用于 Windows 或其他操作系统。
关于linux - 如何删除控制台应用程序 (Linux) 中的打印字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/430713/