当前位置: 首页 > news >正文

知名网站建设企业广东品牌网站设计专家

知名网站建设企业,广东品牌网站设计专家,wordpress 附件上传插件下载,阿里邮箱登录本文中,我们来写一个进度条。 本文大纲: 写一个命令行版的进度条。 1.回车换行 2.缓冲区问题(本文不深究) ​ 2.1测试代码 3.写一个什么样的进度条? ​ version1 ​ version2 回车换行 这俩不是一个概念&…

本文中,我们来写一个进度条。

本文大纲:

写一个命令行版的进度条。

1.回车换行

2.缓冲区问题(本文不深究)

​ 2.1测试代码

3.写一个什么样的进度条?

​ version1

​ version2

回车换行

这俩不是一个概念:

在计算机语言中,换行是\n,回车是\r。\n\r是回车换行。

如果改成这样:

我们就会发现,等待3秒后才会打印出来。

那么,先执行的是printf,还是sleep呢?

我们的程序永远都是从前往后执行的。

为什么printf执行完了显示器没有显示?在我们休眠的时间里,我们的字符串在哪?

在缓存区里。

那为什么有’\n’,就能先打印出来呢?

因为行刷新

而我们没有’\n’,是因为程序结束了会自动刷新缓冲区。

如果我们想让不带’\n’的自动刷新呢?

fflush

我们的程序会自动打开这三个流。

stdin是键盘。stdout和stderr是显示器。

我们知道,linux下一切皆文件,printf是往stdout里写入。

所以我们也可以加一个参数,然后写成fprintf版本:

使用fflush:

测试代码:

如果我们想在同一个位置打印呢?那就不能让它换行了。

光标的位置永远是输入下一个字符的位置。

所以我们这样修改:

这里,如果我们把i定义为10,就会发现:

倒计时到1的时候显示的是:

理解显示

当我们在屏幕上打印12345时,打印的是整数12345,还是字符’1’‘2’‘3’‘4’'5’呢?

答案是后者。

**显示器只认字符!**所以我们说,显示器是字符设备

这也是为什么平时printf时,要格式化输出。

比如我们int a;,printf内部把我们的a由整数转成字符串,然后再由类似putc这样的接口把字符一个个显示出来。

我们这样修改:

怎么理解这个%2d呢?

这代表位宽为2,一次显示两个字符,如果只有一个字符,会把后面的字符清理掉,可以理解为显示的是02或者空格2.

我们还可以改成,让数字靠屏幕左侧显示:

这样修改,表示左对齐。

写一个什么样的进度条?

左侧的这个中括号里面,随着右侧中括号里的百分比增加,井号增加(但不会讲右侧中括号向后挤),同时最右侧的中括号中/进行旋转。

原理版本(version1)

用sleep会太慢了,所以我们改用usleep:

微秒

1s=100w微秒

我们可以先写出井号部分的中括号:

然后再写出百分比的中括号:

旋转光标

我们将这4个字符覆盖式地显示:| / - \\,就可以得到我们想要的效果。

\\是因为要取字面值,才能得到我们想要的\

然后我们可以比较巧妙地这样来显示:

这个进度条可以跑了,但是没法使用。

如果未来我们是在下载东西的时候打印进度条:

这样进度条的进度与我们的下载进度不符。

真实版本

应该是边下载边更新。

所以我们接下来把process.h改成:

然后我们再来写process.c

然后会看到报错:

所以我们要这样:

然后我们就可以得到:

然后我们发现没到100,需要改一下这里:

最后修改

我们最后将其改为回调函数形式的,更好:

Thanks♪(・ω・)ノ

http://www.yayakq.cn/news/765985/

相关文章:

  • 做网站要有策划么网站优化插件
  • 怎么做网站公司宣传资料帮别人做网站收多少钱合适
  • 做素材类的网站赚钱吗中国建设银行企业
  • 怀化市建设局门户网站wordpress模板建站教程
  • 西安做网站微信公司哪家好seo培训学校排名
  • 做调查问卷换赏金的网站建设公司网站模板
  • i深建官方网站中国建设银行个人网站银行
  • 找设计师网站湘潭网站建设 w磐石网络
  • 给自己的网站做代言网站内部搜索怎么做
  • 怎样创建微网站网站一条龙服务
  • 免费下软件的网站网站构建设计思路
  • 南山网站制作联系电话公司注册网上核名多久
  • 自治区建设厅网站上海网站设计大概要多少钱
  • 天津做网站的大公司抖音代运营价格
  • 小城镇建设的网站文献浏览网站内下载文件
  • 购物网站开发项目意义河间网站制作公司
  • 网站百度提示风险wordpress怎样修改字体大小
  • 额尔古纳网站建设品牌商城网站制作公司
  • 2023还能上的网站南宁网站建设工具
  • 网站推广运作怎么做wordpress极简名片主题
  • 阿里云成功备案的网站增加域名中网建站
  • 黄石公司做网站网站图片上传功能怎么做
  • 南京优化网站广州沙河一起做网站
  • 关于公路建设的网站wordpress 小工具样式
  • 做网站ui主要研究内容响应式网站seo
  • 网站开发培训机构需要多少钱通过网站做跳板
  • 网站图片上浮动文字在线教育培训wordpress主题
  • 网站可以自己建立吗青岛外包加工网
  • 网站请及时续费wordpress下载的主题不完整
  • 网站建设投如何通过查询网站注册时间