许多二进制文件如何改变其正确位置的执行百分比?

许多二进制文件如何改变其正确位置的执行百分比?

package managers我正在尝试编写一个 C 程序,它可以完成许多二进制文件在执行时所做的事情。它们会更改并添加到终端中已输出的文本中,这使得它变得很有趣。我想知道如何才能做到这一点,不仅在 C 中,也许在 bash 或 python 中。例如:

 program                  23 MiB   981 KiB/s 00:00 [######################] 100%

我的意思是这样的事情,#在下载过程中成长。

谢谢你的合作。

答案1

这通常是通过一遍又一遍地打印整行来完成的,使用回车符而不是换行符将光标返回到行的开头而不是下一行。例如,

for i in {0..20}; do
  printf "ETA %2.1ds [%-20.${i}s]\r" "$((20-i))" "####################"
  sleep 1
done
printf "\n"

\r在许多受 C 启发的上下文中,回车符由 表示。

更复杂的显示器通常使用咒骂风格的图书馆。这就是许多全屏“文本模式”应用程序处理其输出的方式;参见例如午夜指挥官

相关内容