当前位置: 首页 > news >正文

Linux下C++编程-进度条

引言:本篇主要在linux下的C++实现进度条的功能。按照多文件编程,同时使用Makefile文件完成多文件的编译、连接。

首先创建头文件:

1. progress.h

#pragma once
#include <iostream>
#include <cstring>
#include <iomanip>
#include <unistd.h>
using namespace std;
class Prog{
public:Prog(int time,const string sample);void get_progress();
private:int _time;string _sample;
};

 首先定义一个Prog的类,成员变量为进度条需要多少秒和进度条样式。并声明构造函数和创建进度条的函数。

2. progress.cpp 

#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<cont;i++){arry[i] = _sample[0];cout<<'['<<arry<<setw(100-i)<<']'<<" ["<<i+1<<"%"<<"]"<<" ["<<s[i%2]<<']'<<'\r'; //只回车不换行cout<<flush; //强制刷新缓冲区usleep(10000*_time);}cout<<endl;
}

 实现构造函数,初始化列表,如果创建对象时,不传值,默认为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.cppg++ main.cpp progress.cpp -o prog

 格式为:

target : dependency

(Tab)rule

目标文件 :依赖项

(Tab键)规则

 5. 实现效果

http://www.lryc.cn/news/189026.html

相关文章:

  • C语言常见题目(1)交换两个变量的值,数的逆序输出,猜数游戏,两个数比较大小等
  • Springboot使用sqlcipher4加密sqlite数据库
  • 指针拔尖(2)(巩固提高,全网最牛,包会,看不懂带电脑来找我)
  • 本地部署多语言代码生成模型CodeGeeX2
  • C语言刷题练习(Day2)
  • docker- harbor私有仓库部署与管理
  • 自动化测试的优缺点
  • 深度学习基础知识 Dataset 与 DataLoade的用法解析
  • 【ElasticSearch】深入探索 DSL 查询语法,实现对文档不同程度的检索,以及对搜索结果的排序、分页和高亮操作
  • 使用wireshark解密ipsec ISAKMP包
  • 算法进阶-搜索
  • 时空智友企业流程化管控系统 sessionid泄露漏洞 复现
  • QT编程,QMainWindow、事件
  • 人工智能在教育上的应用2-基于大模型的未来数学教育的情况与实际应用
  • C++学习day5
  • 1.软件开发-HTML结构-元素剖析
  • QTableWidget 表格增删数据
  • Tableau:商业智能(BI)工具
  • 【gmail注册教程】手把手教你注册Google邮箱账号
  • docker版jxTMS使用指南:数据采集系统的高可用性
  • vue如何禁止通过页面输入路径跳转页面
  • mac,linux环境的基础工具安装【jdk,tomcat】
  • chrome窗口
  • 某快递公司Java一面
  • 【C++ Primer Plus学习记录】指针——声明和初始化指针
  • 切换至root用户时,命令提示符颜色为白色,如何修改?
  • 设计模式——17. 状态模式
  • 系统架构设计:14 论软基于架构的软件设计方法(ABSD)的软件开发
  • 如何在 Spring Boot 中进行文件上传
  • Python 图形化界面基础篇:将应用程序打包为可执行文件