当前位置:   article > 正文

Linux小项目---简易进度条的实现_基于linux的小项目

基于linux的小项目

 顾得泉:个人主页

个人专栏:《Linux操作系统》  《C/C++》

键盘敲烂,年薪百万!


一、文件的建立

       在我们创建项目的过程中,如何做到较好的管理编辑,那就是区块化编写,头文件放在一起,相对应的功能实现代码放在一起,main函数单独放置,这是我从别的大佬那学来的一种良好的编程习惯,我觉得挺整齐方便。

       那么对于我们今天的项目---进度条来说,我们就按照上述要求来进行编写三个文件:

        ProcBar.h:自定义头文件,作用是包含库的文件,放函数声明、符号定义等
        ProcBar.c:作用是存放函数定义代码
        test.c:调用ProcBar.c的函数来实现进度条

二、makefile的创建 

       当我们把相对应的文件创建好后,我们先不要着急编写代码,先创建一个makefile文件,不知道makefile文件的作用可以去阅读我上一篇博客进行学习。当我们把makefile文件创建好后,先进行测试,可以执行后再去编写其余文件的代码,避免后续因为makefile文件的出错而导致代码无法正常工作。

编写makefile文件内容:

这段代码中的$^S@是makefile中的特殊变量,它们的含义如下:

  • $^:表示当前目标所依赖的所有文件。在makefile中,$^是一个自动变量,它会自动展开为当前目标所依赖的所有文件的列表。

  • S@:表示一个占位符,用于替换成实际的目标名称。在makefile中,S@通常用于生成多个目标时,将目标名称作为参数传递给命令或规则。


 三、实现思路

       该进度条的思想就是覆盖,第一次输出一个字符,第二次输出两个,依次增加,然后增加的过程中把上一次的结果进行覆盖,形成了字符向后增加,产生一个进度条的效果。

       这时候就得引出我们今天的核心:回车与换行

        ‘\r’是回车,前者使光标到行首

        ’\n’是换行,后者使光标下移一格。

        在平时我们所使用的是\n,在下一行进行输出,今天我们所使用的是\r,回到该行起始位置进行输出,下面是不进行覆盖的展开图:

       现如今我们电脑的回车键是把这两个功能合并起来了,诸如我们前些年的老式电脑,它的回车键就是一个向下向左的箭头:


四、代码编写

ProcBar.h

       这段代码里面主要包含了头文件,定义了ProcessBar函数名, 定义了进度条的长度101,因为进度条的长度为100,但是字符串的结束通常包含“\0”,长度加一避免溢出。

ProcBar.c

       这段代码定义了一个名为ProcessBar的函数,用于显示进度条。函数内部使用了一个字符数组bar来存储进度条的状态,初始时全部为空格字符。然后,通过循环逐步更新进度条的状态,并在每次迭代中打印出进度条的当前状态。进度条的符号由sign字符串中的字符依次循环选择,以模拟旋转光标。最后,当进度达到100%时,打印换行符以完成进度条的显示。

 test.c

       用于进行进度条代码测试。 


 五、整体实现


结语:Linux一个简单的进度条小项目的分享实现到这里就结束了,希望本篇文章的分享会对大家的学习带来些许帮助,本篇文章包含的诸多小知识点有不清楚的可以访问我的Linux专栏,如果大家有什么问题,欢迎大家在评论区留言~~~ 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/正经夜光杯/article/detail/950200
推荐阅读
相关标签
  

闽ICP备14008679号