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


-
相关阅读:
第十天-自动化办公-word操作
计算机 软件工程 毕业设计题目推荐
Vue实现日期选择器
C指针 --- 进阶
8 mysql中的索引2
超越openmp通用核心的硬件
【机器学习】038_梯度消失、梯度爆炸
WIN32API之PIPE管道
shell中实用eval命令和安全问题
Gudu SQLFlow released查询和数据库的数据沿袭
-
原文地址:https://blog.csdn.net/weixin_56821642/article/details/133747334