C语言实现进度条[背景+源码]
来源:互联网 发布:软件专业有哪些课程 编辑:程序博客网 时间:2024/06/05 00:37
一、回车和换行的区别
/n 换行将光标移动到下一行第一格相当于平时用的回车
/r 回车 将光标移动到当前行第一格
'/r'是回车,'/n'是换行,前者使光标到行首,后者使光标下移一格。通常用的Enter是两个加起来。下面转一篇文章。
背景:在计算机还没有出现之前,有一种叫做电传打字机(TeletypeModel 33)的玩意,每秒钟可以打10个字符。但是它有一个问题,就是打完一行换行的时候,要用去0.2秒,正好可以打两个字符。要是在这0.2秒里面,又有新的字符传过来,那么这个字符将丢失。
于是,研制人员想了个办法解决这个问题,就是在每行后面加两个表示结束的字符。一个叫做“回车”,告诉打字机把打印头定位在左边界;另一个叫做“换行”,告诉打字机把纸向下移一行。
二、fflush
fflush()会强迫将缓冲区内的数据写回参数stream 指定的文件中. 如果参数stream为NULL,fflush()会将所有打开的文件数据更新.
scanf()函数接收输入数据时,遇以下情况结束一个数据的输入:(不是结束该scanf函数,scanf函数仅在每一个数据域均有数据,并按回车后结 束)。
① 遇空格、“回车”、“跳格”键。
② 遇宽度结束。
③ 遇非法输入。
键盘缓冲区就可能有残余信息问题。
scanf()函数应该只是扫描stdin流,这个残存信息是在stdin中
解决就要在scanf()函数之后加个fflush(stdin)
三、带百分比和状态动画的进度条源码
void proc()
{
charbuf[103];
memset(buf,' ', sizeof(buf));
buf[0]= '[';
buf[101]= ']';
buf[102]= '\0';
inti = 0;
charindex[6] = "-\\|/\0";
while(i <= 100)
{
buf[i]= '=';
printf("%s[%d%%][%c]\r", buf, i, index[i % 4]);
fflush(stdout);//刷新缓冲区
Sleep(200);
i++;
}
printf("\n");
}
- C语言实现进度条[背景+源码]
- C语言实现进度条[背景+实现]
- 【C语言】进度条实现
- C语言实现进度条
- 用c语言实现进度条
- 更新进度条C语言实现
- C语言简单的进度条实现
- 【C语言】实现一个变色的进度条
- C语言 Linux 下实现进度条
- 【C语言】实现彩色的进度条
- C语言实现进度条彩色变化
- C语言实现控制台背景闪烁
- c语言实现ping源码
- C语言控制台进度条
- C语言进度条
- C语言实现的百分比加进度条的显示程序
- Linux下用C语言来实现简单的进度条
- 在Linux下用C语言实现简单的进度条
- oj1953: C语言实验——计算1到n的和(循环结构)
- 体胖还需勤跑步,人丑就该多读书!
- 4.内部类和IDE的使用
- 框架之spring(一)
- USB——眼图测试常识
- C语言实现进度条[背景+源码]
- 关于“Damage:before normal block..."(内存的使用错误)
- java集合框架02——Collection架构与源码分析
- 精确率与召回率
- Handler源码分析 - Java层
- Django开发,给admin模块添加富文本
- [华为OJ--C++]042-矩阵乘法
- jsp内置对象request
- Js~对数组的操作