我们都知道缓冲区,缓冲区又称为缓存,它是内存空间的一部分。也就是说,在内存空间中预留了一定的存储空间,这些存储空间用来缓冲输入或输出的数据,这部分预留的空间就叫做缓冲区。比如:我们从磁盘中读取数据,先将数据放置缓冲区,计算机直接从缓冲区中读取数据,等缓冲区数据读取万,再去磁盘继续读取,这样可以减少磁盘的读取次数,同时加快了计算机的运行速度。
我们所熟知的printf函数也是如此,当我们使用fflush(stdout)强制刷新标准输出缓冲区,\n进入缓冲区,程序结束时或者缓冲区满时,才会将缓冲区的数据打印到显示屛上。
下面在提一个printf中\r和\d的区别:'\r'是回车,'\n'是换行,前者使光标到行首,后者使光标下移一格。我们的进度条就是基于以上两点,下面看下代码:
保存代码,编译运行结果如下:
代码中printf("\033[34m内容\033[0m");是将字体的颜色进行修改,如果要将字体颜色换成红色,只需要将34改为31即可。
30:黑色 31:红色 32:绿色 33:黄色 34:蓝色 35:紫色 36:深绿 37:白色
由于本人才疏学浅,可能表达的不是很清楚,在此推荐一篇博客:http://blog.youkuaiyun.com/bitboss/article/details/53996423