福建泉州网站建设公司,订阅号怎么做网站,四川住房和城乡建设厅网站题库,赌求网站开发引言#xff1a;本篇主要在linux下的C实现进度条的功能。按照多文件编程#xff0c;同时使用Makefile文件完成多文件的编译、连接。 首先创建头文件#xff1a;
1. progress.h
#pragma once
#include iostream
#include cstring
#include iomanip… 引言本篇主要在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]; //要放一个\0string s |/; //进度条最后价格旋转动效memset(arry,\0,101); //把arry中的全部置为\0for(int i 0; icont;i){arry[i] _sample[0];cout[arrysetw(100-i)] [i1%] [s[i%2]]\r; //只回车不换行coutflush; //强制刷新缓冲区usleep(10000*_time);}coutendl;
}实现构造函数初始化列表如果创建对象时不传值默认为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. 实现效果