引言:本篇主要在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. 实现效果


-
相关阅读:
JAVA医院绩效考核系统源码 功能特点:大型医院绩效考核系统源码
汽车电子——产品标准规范汇总和梳理(开发体系)
pytest + yaml 框架 -56. 输出日志优化+allure报告优化
GBase 8c V3.0.0数据类型——几何函数
Kubernetes(k8s)集群渗透
C#/VB.NET 实现Word和ODT文档相互转换
【Vue3】定义全局变量和全局函数
低代码-业务流程引擎
如何制作并运行 jar 程序
Elasticsearch安装和下载教程
-
原文地址:https://blog.csdn.net/weixin_56821642/article/details/133747334