libcurl的一些坑

最近用libcurl+qt做了一个下载器,踩过不少坑,我来分享下自己遇到的坑,其他人都不要在犯了。

1.在libcurl中,设置进度条用curl_easy_setopt(curlhandle, CURLOPT_XFERINFOFUNCTION, progress_callback);需要注意的是CURLOPT_XFERINFOFUNCTION所对应的回调函数参数必须是curl_off_t,不能使double;但CURLOPT_PROGRESSFUNCTION所对应的回调函数必须是double,不能输curl_off_t。如果形参设置不对,会导致数据出现异常。官方建议使用CURLOPT_XFERINFOFUNCTION,它是CURLOPT_PROGRESSFUNCTION的替代品。

2.注意,在设置curl_easy_setopt(curlhandle, CURLOPT_RESUME_FROM_LARGE, resume_position)参数resume_position必须是curl_off_t,不能使int或double,否则会导致数据异常。


你可能感兴趣的:(libcurl+qt,libcurl)