首页  |  Linux  |  C/C++  |  网络编程  |  Python   |  Algorithm  |  数据库  |  经验  |   人生 & 随想   |  站内搜索  |  关于

<<< previous

该文已被浏览1517

如何在程序中添加进度条?



有时候程序运行较慢,此时在程序中添加一个进度条来表示程序的进度是一个不错的主意。下面将分享一种在程序中添加进度条的方法.

在Shell Script中添加进度条

在Shell Script中添加进度条的方法比较简单,下面是一个示例程序:

echo -ne '[#########                  ]35%\r'
sleep 1
echo -ne '[###############            ]50%\r'
sleep 1
echo -ne '[########################   ]90%\r'
sleep 1
echo -ne '[###########################]100%\r'
echo

   上面程序中echo-n参数表示不换行,-e参数表示对转义字符进行解释,这样每输出一行字符后,并不换行,只是回车(\r),于是就回到了当前行的行首,当再次输出时,这次输出的内容就会覆盖上一次输出的内容,从而达到了显示进度条的目的.


在C程序中添加进度条

在C程序中添加进度条的思路与上面的相同,只是细微之处有些差别,下面是一个示例程序:

printf("[########                  ]33%%\r");
fflush(stdout);
sleep(1);
printf("[#############             ]50%%\r"):
fflush(stdout);
sleep(1);
printf("[#####################     ]90%%\r");
fflush(stdout);
sleep(1);
printf("[##########################]100%%\r");

   与Shell Script不同,C程序中每执行一条printf语句,就要调用fflush()函数来刷新缓冲区,否则,上面的程序中只会输出最后一条printf语句所输出的内容。另外一点需要注意的是我是在Linux平台下运行上述程序的,使用的是包含在<unistd.h>头文件中的sleep函数,在Windows平台下,用法会不同。



一如既往,如果你对文章中的内容有任何疑问,或者是发现文章中有任何错误,都可以通过下面的地址发邮件告诉我.
E-mail: contact@TechForGeek.info