引言:本篇主要在linux下的C++实现进度条的功能。按照多文件编程,同时使用Makefile文件完成多文件的编译、连接。
首先创建头文件:
- #pragma once
- #include
- #include
- #include
- #include
- using namespace std;
- class Prog{
- public:
- Prog(int time,const string sample);
- void get_progress();
- private:
- int _time;
- string _sample;
- };
首先定义一个Prog的类,成员变量为进度条需要多少秒和进度条样式。并声明构造函数和创建进度条的函数。
- #include "progress.h"
- Prog::Prog(int time,const string sample)
- :_time(5)
- ,_sample("#")
- {
- _time = time;
- _sample = sample;
- }
- void Prog::get_progress(){
- int cont = 100; //进度为100%
- char arry[101]; //要放一个'\0'
- string s = "|/"; //进度条最后价格旋转动效
- memset(arry,'\0',101); //把arry中的全部置为'\0'
- for(int i = 0; i
- arry[i] = _sample[0];
- cout<<'['<
setw(100-i)<<']'<<" ["<1<<"%"<<"]"<<" ["<2]<<']'<<'\r'; //只回车不换行 - cout<
//强制刷新缓冲区 - usleep(10000*_time);
- }
- cout<
- }
实现构造函数,初始化列表,如果创建对象时,不传值,默认为5秒完成,样式为#。
3. main.cpp
- #include "progress.h"
- int main()
- {
- Prog p1(3,"#");
- p1.get_progress();
- return 0;
- }
这样这个进度条功能已经实现,但是每次如果要编译就要:
g++ main.cpp progress.cpp
这时候就要使用Makefile了,这是一个文件, 我们需要在Makefile文件中描述了整个工程所有文件的编译顺序、编译规则。
4. Makefile
- prog : main.cpp progress.cpp
- g++ main.cpp progress.cpp -o prog
格式为:
target : dependency
(Tab)rule
目标文件 :依赖项
(Tab键)规则
5. 实现效果


-
相关阅读:
编程内功心法「公钥密码学系列」基础介绍公钥证书与私钥标准(1)
kodi的IPTV直播源爬取
c#调用谷歌浏览器打开文件 系统找不到指定的文件
Docker常用命令,你该掌握啦!
win11 无法登录微软账户 终极解决方案
财务RPA与数字化转型——财务RPA如何促进企业的数字化转型
【开题报告】基于uni-app的污水处理厂的工单处理APP的设计与实现
zabbix部署
【机器学习、python】线性回归
数据库设计步骤
-
原文地址:https://blog.csdn.net/weixin_56821642/article/details/133747334