【Linux初阶】Linux小程序 - 进度条
创始人
2024-04-05 22:58:20
0

  🌟hello,各位读者大大们你们好呀🌟

🍭🍭系列专栏:【Linux初阶】

✒️✒️本篇内容:综合使用Linux基础指令、vim编辑器、gcc工具、make/makefile编译工具完成Linux小程序 - 进度条

🚢🚢作者简介:计算机海洋的新进船长一枚,请多多指教( •̀֊•́ ) ̖́-

📡📡同期Linux工具文章:【Linux初阶】vim工具的使用 

                                           【Linux初阶】Linux项目自动化构建工具-make/Makefile 


touch(创建)四个文件(main.c,mycode.h,mycode.c,makefile)

main.c

  1 #include "mycode.h"2 3 int main()4 {5     ProncessOn();                                                                                                                       6     //printf("hhhh\n"); - 测试使用7     return 0;8 }

【注意】通常我们使用make/makefile工具时,应该要分布测试程序的可执行情况


mycode.h 

  1 #pragma once 2 3 #include 4 #include //初始化需要使用5 #include //休眠需要使用6 7 #define NUM 1018 #define s_num 5                                                                                                                         9 10 extern void  ProncessOn();


mycode.c

    1 #include "mycode.h"2 3 char style[s_num] = {'-', '#', '.', '>', '+'};//不同进度条风格选择4 5 extern void  ProncessOn()6 {7     int cnt = 0;8     char bar[NUM];9     memset(bar, '\0', sizeof(bar));//初始化10 11     const char *lable = "l\\-/";//显式图形12 13     while(cnt<=100)14     {15         printf("[%-100s][%d%%][%c]\r", bar, cnt, lable[cnt%4]);//-\r回到首行,%-100使中括号再100位置上(右对齐)16         fflush(stdout);//刷新
E> 17         bar[cnt++] = style[N]; //这里的宏再makedile中定义                                                                                                       18         //sleep(1);19         usleep(50000);  //5s/100==0.05==5000020     }21 22     printf("\n");23 }
  • 使用头文件中的定义宏 s_num,便于修改
  • 使用 style[N] - 外接的定义宏N,便于修改和使用
  • \r - 回到行首,每次循环需要打印不同的字符串
  • 使用 fflush(stdout) 刷新之后,才不会形成“代码山”式的叠加

makefile

修改定义宏可以更换不同格式

  1 mycode:mycode.c main.c2     gcc mycode.c main.c  -o mycode -DN=1  #这里用-D定义宏N=1                                                                                              3 4 .PHONY:clean5 clean:6     rm -f mycode


make编译

[ldx@VM-12-11-centos myfile]$ make
gcc mycode.c main.c  -o mycode -DN=1
[ldx@VM-12-11-centos myfile]$ ./mycode
[####################################################################################################][100%][l]


 


 🌹🌹Linux小程序 - 进度条大概就讲到这里啦,博主后续会继续更新更多Linux操作系统的相关知识,干货满满,如果觉得博主写的还不错的话,希望各位小伙伴不要吝啬手中的三连哦!你们的支持是博主坚持创作的动力!💪💪   

相关内容

热门资讯

喜欢穿一身黑的男生性格(喜欢穿... 今天百科达人给各位分享喜欢穿一身黑的男生性格的知识,其中也会对喜欢穿一身黑衣服的男人人好相处吗进行解...
发春是什么意思(思春和发春是什... 本篇文章极速百科给大家谈谈发春是什么意思,以及思春和发春是什么意思对应的知识点,希望对各位有所帮助,...
网络用语zl是什么意思(zl是... 今天给各位分享网络用语zl是什么意思的知识,其中也会对zl是啥意思是什么网络用语进行解释,如果能碰巧...
为什么酷狗音乐自己唱的歌不能下... 本篇文章极速百科小编给大家谈谈为什么酷狗音乐自己唱的歌不能下载到本地?,以及为什么酷狗下载的歌曲不是...
家里可以做假山养金鱼吗(假山能... 今天百科达人给各位分享家里可以做假山养金鱼吗的知识,其中也会对假山能放鱼缸里吗进行解释,如果能碰巧解...
华为下载未安装的文件去哪找(华... 今天百科达人给各位分享华为下载未安装的文件去哪找的知识,其中也会对华为下载未安装的文件去哪找到进行解...
四分五裂是什么生肖什么动物(四... 本篇文章极速百科小编给大家谈谈四分五裂是什么生肖什么动物,以及四分五裂打一生肖是什么对应的知识点,希...
怎么往应用助手里添加应用(应用... 今天百科达人给各位分享怎么往应用助手里添加应用的知识,其中也会对应用助手怎么添加微信进行解释,如果能...
客厅放八骏马摆件可以吗(家里摆... 今天给各位分享客厅放八骏马摆件可以吗的知识,其中也会对家里摆八骏马摆件好吗进行解释,如果能碰巧解决你...
苏州离哪个飞机场近(苏州离哪个... 本篇文章极速百科小编给大家谈谈苏州离哪个飞机场近,以及苏州离哪个飞机场近点对应的知识点,希望对各位有...