您的位置 首页 电源

函数的复用性表现为库

引入函数库头文件includecurlcurlh>includestringh>用pragmacomment预编译命令,表示这个程序将使用ibcurld_implib这个

//引进函数头文件

#include
#include
//用#pragma comment预编译指令,表明这个程序将运用ibcurld_imp.lib这个库文件
#pragma comment(lib,”libcurld_imp.lib”)
//仿制将数据写入文件的回调函数
size_t write_data(void *ptr, size_t size,size_t nmemb,FILE *stream) {
int written=fwrite(ptr,size,nmemb,stream);
return written;
}
//运用函数库供给函数完结的文件下载函数
CURLcode download( char* url,
char* out)
{
CURL *curl = NULL;
FILE *fp = NULL;
CURLcode res;
//调用函数库中的curl_easy _init()函数完结初始化
curl = curl_easy_init();
if (curl)
{
fp=fopen(out,”wb”);
curl_easy_setopt(curl,CURLOPT_URL, url);
curl_easy_setopt(curl,CURLOPT_WRITEFUNCTION, write_data);
curl_easy_setopt(curl,CURLOPT_WRITEDATA, fp);
res=curl_easy_perform(curl);
curl_easy_cleanup(curl);
//下载完结,进行最终的整理作业
fclose(fp);
return res;
}
else
{
return CURLE_FAILED_INIT;
}
}
//辅佐函数,用于获取文件名
void getfilename(char* url, char* name)
{
char* pos = strrchr(url,”/”);
if (NULL!=pos)
{
strcpy(name,pos+1);
}
}
int main(int argc,char* argv[])
{
if (2!=argc)
{
puts(“usage:gethttp://www.51hei.com/f/keil3.rar”);
return -1;
}
char* url = argv[1];
char name[32];
getfilename(url,name);
CURLcode res = download(url,name);
if(CURLE_OK==res)
{
printf(“great! download %s as %s succerfully.”,url,name);
}
else
{
printf(“sorry:cannot download %s.”,url);
}
return 0;
}

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/dianyuan/318066.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部