模拟实现进度条需要掌握以下三个关键知识点。
1,回车和换行的概率。
2:,进度条的工作原理。
3:,缓冲区的概念。
1,回车和换行的概念。
回车\r本义是光标重新回到本行开头,r意为return,控制字符可以写成CR(Carriage Return)。
换行\n本义是光标往下一行(不一定到下一行行首),n意为newline,控制字符写为LF(Line Feed)。
比如键盘上的Enter键,他的功能就是换行+回车(光标先到下一行,然后回车到行首)。
2,进度条的工作原理。
进度条只显示在屏幕上的一行上面刷新进度,并不会到下一行,也就是只有回车功能,没有换行功能。
通过在同一行间接性的输出长度递增的字符,来达到进度条的动态增加。
3,缓冲区的概念。
缓冲区为暂时置放输出或输入资料的内存。根据冯·洛伊曼计算机组成原理,计算机的输入输出设备和CPU的交互必须通过内存。所以CPU计算出结果后,先将结果放在名为缓冲区的内存中,而后利用fflush(stdout)函数立马刷新将结果送到标准输出设备(屏幕)上。
附上代码:
运行效果: