来自http://curl.haxx.se/libcurl/c/libcurl-tutorial.html:
所以,你编写自己的函数来匹配这个原型:
Run Code Online (Sandbox Code Playgroud)size_t write_data(void *buffer, size_t size, size_t nmemb, void *userp);您告诉libcurl通过发出类似于此的函数将所有数据传递给此函数:
Run Code Online (Sandbox Code Playgroud)curl_easy_setopt(easyhandle, CURLOPT_WRITEFUNCTION, write_data);
有人可以解释一下这些论点size和nmemb立场吗?size响应中的字符数是多少?那是什么nmemb?
显然“ 大小是一个数据项的大小,nmemb是数据项的数量”。我的猜测是这是一些内部实现细节。在真实的数据大小= * nmemb个。
回调函数的文档:https : //curl.haxx.se/libcurl/c/CURLOPT_WRITEFUNCTION.html
示例代码:https :
//github.com/curl/curl/blob/master/docs/examples/getinmemory.c
小智 5
这是为以下功能而设计的:size_t fwrite(const void* buffer, size_t size, size_t count, FILE* stream);
FILE* out = fopen("out.html", "w");
curl_easy_setopt(curl_handle, CURLOPT_WRITEDATA, (void *)out);
curl_easy_setopt(easyhandle, CURLOPT_WRITEFUNCTION, fwrite);
Run Code Online (Sandbox Code Playgroud)
所以我们不需要添加更多代码fwrite!
| 归档时间: |
|
| 查看次数: |
8741 次 |
| 最近记录: |