【发布时间】:2020-11-10 20:39:14
【问题描述】:
我正在做一个从 api 获取数据的简单程序,并按照文档创建一个回调函数以传递给 curl_easy_setopt:
size_t callback_libcurl(void *contents, size_t size, size_t nmemb, void *userp) {
size_t realsize = size * nmemb;
struct resultado *mem = (struct resultado *)userp;
char *ptr = realloc(mem->dados, mem->tamanho + realsize + 1);
if(ptr == NULL) {
printf("not enough memory (realloc returned NULL)\n");
return 0;
}
然后将其传递给:
curl_easy_setopt(handler_curl, CURLOPT_WRITEFUNCTION, callback_libcurl);
一切正常,但我不知道为什么。我如何将回调函数传递给 curl 函数?
文档说参数可以是 long、函数指针、对象指针或 curl_off_t。
这不是那个afaik。
我能找到的唯一来源是:
CURL_EXTERN CURLcode curl_easy_setopt(CURL *curl, CURLoption option, ...);
在 /curl/easy.h 上,但这也无济于事,我不知道 ... 是什么。在上面找不到任何东西。
我错过了什么?
【问题讨论】: