编码要求:
1. 进度条是动态的。
2.进度条有进度的多少。
3.进度条拥有颜色。
前提:
1. 缓冲区:
缓冲区分为三种:
1)全缓冲区:Linux下默认8192字节,在缓冲区满或者显示调用刷新函数后进行IO系统调用操作。普通磁盘文件通常使用全缓冲区访问
2)行缓冲区:默认大小为128字节,当遇到换行符或者缓冲区满时,标准IO库执行IO系统调用操作,终端即行缓冲区。
3)非缓冲区:标准IO库不对字符进行缓存,标准出错流stderr通常是不带缓冲区的。
用Printf()输出时是先输出到缓冲区,然后再从缓冲区送到屏幕上。用fflush(stdout)函数强制刷新缓冲区。
2. \n , \r 的比较
\n 表示回车和换行两个动作,即在行末出现\n ,则后面的字便在下一行的第一个字开始输出。
\r 表示回车一个动作,即如果出现\r ,则后面的字在本行第一个字开始输出,即会覆盖前面的数据。
3. sleep()函数
sleep()函数表示:若在动作A与动作B之间存在sleep(a),则表示A执行a秒到动作B。此函数单位为秒。
注意:usleep()函数,单位为微秒。
代码:
附加:
看下面同样的代码,仅仅输出时的“回车”不同,结果是怎样的呢(具体看\n \r的不同)