https多线程下载代码
这里使用了curl网络库和使用多线程来下载对应https链接的文件对应的.h头文件:
#pragma once#include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std;#defineTHREADS_NUMS(10)classFileInfo{public: void * pFile; size_t offset; size_t endpos; char * pUrl; pthread_ttid; size_tused; FILE * file; size_t totalLen;};size_twriteFile(void *pData, size_t dwSize, size_t dwMemb, void * pFile);int progress_callback(void *clientp, double dltotal, double dlnow, double ultotal, double ulnow);void *works(void * arg);void sighandler_func(int arg);class DownFile{ public: virtual bool downFile()=0;};classHttpDownFile:public DownFile{public: HttpDownFile(char * pUrl, char * pFile):m_pUrl(pUrl),m_pFile(pFile){ if(SIG_ERR==signal(SIGINT,sighandler_func)) { cout
页:
[1]