一、进度条程序(Linux Vim实现):
(1)程序代码:
(2)Makefile:
(3)、运行结果:
(4)、进度条原理:
通过运用 \r 回到行首覆盖打印的特性及sleep函数与fflush函数的配合使用进行程序的编辑运行。
二、\n与\r 的区别:
符号 ASCII码 意义
\n 10 换行NL
\r 13 回车CR
回车 \r 本义是光标重新回到本行开头,r的英文return,控制字符可以写成CR,即Carriage Return
换行 \n 本义是光标往下一行(不一定到下一行行首),n的英文newline,控制字符可以写成LF,即Line Feed
在不同的操作系统这几个字符表现不同,比如在WIN系统下,这两个字符就是表现的本义,在UNIX类系统,换行\n就表现为光标下一行并回到行首,在
MAC上,\r就表现为回到本行开头并往下一行,至于ENTER键的定义是与操作系统有关的。通常用的Enter是两个加起来。
如下代码:
运行结果:
由以上程序可以看出\r表示回退本行行首覆盖打印之后的内容,\n换行进行打印输出。
三、sleep(usleep)函数,fflush函数的搭配使用
1、 sleep简述(usleep中的时间以微秒为单位,sleep以秒为时间单位)
2、fflush简述
3、当仅用sleep而没有fflush时,程序会因一直处于sleep等待状态而无法显示正常结果,当使用fflush函数清除缓冲区后,即可显示正常结果。