源码如下:
简单实现的在命令行下进行简单的进度条显示的功能,能模拟现实目前的进度并且用旋转的字符表示代码正在运行未卡住。
代码主要利用了printf的格式化输出,以及回车符/r,在这里%s前进行了-100的对齐,也就是左对齐100个字符。
Linux 平台下与windows不同的是将换行符\n表示成两个动作\r\n,好比老式的打字机,\n回车代表换行,\r表示将光标移到左边首个字符的位置。而printf等库函数在输出时,封装底层的系统调用,实际上I/O都有缓冲区,所以,对于printf等函数而言,一般自带缓冲区,而且以行缓冲的形式输出,即除非以\n结尾,或者直到缓冲区装满或程序结束时才打印到标准输出中。所以此处/r相当于重置这一行,对于输出也就只能用fflush强制输出缓冲区了。
原文地址:http://10767544.blog.51cto.com/10757544/1837796