想要实现进度条的小程序,首先必须知道:(\r以及\n的区别)
在Windows操作系统下:Enter键我们都知道是换行的意思,实际上不是的,它的意思是回车换行
\r 回车:使光标回到这一行的行首
\n 换行:使光标到下一行
如果按照数学上的观点去描述的话;在一个坐标轴上,\r 改变x轴使其到零点,y轴不变
\n 改变y轴使其向下移一位,x轴不变
了解了这些基本的知识之后,就可以编写进度条小程序了:
原理:
1.创建一个大小为103的字符数组,用于每次输出字符“#”
2.打印的信息在一行上,利用“\r”(回车)使得每次打印之前把光标定位到该行的行首,覆盖打印
3.实现动态的变化
char * index="-//|\"
printf("%c",index[n%4]);//输出
4.使用%-100s 固定输出的长度,使得[ ]的位置保持不变
5.每次打印完成后,sleep(1)程序挂起一秒,效果更加明显
linux下的代码如下:
运行结果如下: