赞
踩
顾得泉:个人主页
个人专栏:《Linux操作系统》 《C/C++》
键盘敲烂,年薪百万!
在我们创建项目的过程中,如何做到较好的管理编辑,那就是区块化编写,头文件放在一起,相对应的功能实现代码放在一起,main函数单独放置,这是我从别的大佬那学来的一种良好的编程习惯,我觉得挺整齐方便。
那么对于我们今天的项目---进度条来说,我们就按照上述要求来进行编写三个文件:
ProcBar.h:自定义头文件,作用是包含库的文件,放函数声明、符号定义等
ProcBar.c:作用是存放函数定义代码
test.c:调用ProcBar.c的函数来实现进度条
当我们把相对应的文件创建好后,我们先不要着急编写代码,先创建一个makefile文件,不知道makefile文件的作用可以去阅读我上一篇博客进行学习。当我们把makefile文件创建好后,先进行测试,可以执行后再去编写其余文件的代码,避免后续因为makefile文件的出错而导致代码无法正常工作。
编写makefile文件内容:
这段代码中的$^
和S@
是makefile中的特殊变量,它们的含义如下:
$^
:表示当前目标所依赖的所有文件。在makefile中,$^
是一个自动变量,它会自动展开为当前目标所依赖的所有文件的列表。
S@
:表示一个占位符,用于替换成实际的目标名称。在makefile中,S@
通常用于生成多个目标时,将目标名称作为参数传递给命令或规则。
该进度条的思想就是覆盖,第一次输出一个字符,第二次输出两个,依次增加,然后增加的过程中把上一次的结果进行覆盖,形成了字符向后增加,产生一个进度条的效果。
这时候就得引出我们今天的核心:回车与换行
‘\r’是回车,前者使光标到行首
’\n’是换行,后者使光标下移一格。
在平时我们所使用的是\n,在下一行进行输出,今天我们所使用的是\r,回到该行起始位置进行输出,下面是不进行覆盖的展开图:
现如今我们电脑的回车键是把这两个功能合并起来了,诸如我们前些年的老式电脑,它的回车键就是一个向下向左的箭头:
这段代码里面主要包含了头文件,定义了ProcessBar函数名, 定义了进度条的长度101,因为进度条的长度为100,但是字符串的结束通常包含“\0”,长度加一避免溢出。
这段代码定义了一个名为ProcessBar
的函数,用于显示进度条。函数内部使用了一个字符数组bar
来存储进度条的状态,初始时全部为空格字符。然后,通过循环逐步更新进度条的状态,并在每次迭代中打印出进度条的当前状态。进度条的符号由sign
字符串中的字符依次循环选择,以模拟旋转光标。最后,当进度达到100%时,打印换行符以完成进度条的显示。
用于进行进度条代码测试。
结语:Linux一个简单的进度条小项目的分享实现到这里就结束了,希望本篇文章的分享会对大家的学习带来些许帮助,本篇文章包含的诸多小知识点有不清楚的可以访问我的Linux专栏,如果大家有什么问题,欢迎大家在评论区留言~~~
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。