我从他在网上找到的朋友那里得到了一个功能。问题是,我们都不明白它是如何工作的。它将网页的内容复制到字符串中。
我们使用 cURL 连接到一个 php 页面。有问题的功能是:
std::string contents;
size_t handle_data(void *ptr, size_t size, size_t nmemb, void *stream)
{
int numbytes = size*nmemb;
char lastchar = *((char *) ptr + numbytes - 1);
*((char *) ptr + numbytes - 1) = '\0';
contents.append((char *)ptr);
contents.append(1,lastchar);
*((char *) ptr + numbytes - 1) = lastchar; // Might not be necessary.
return size*nmemb;
}
它在此函数中调用:
curl_easy_setopt(curl,CURLOPT_WRITEFUNCTION,handle_data);
任何关于它如何工作的解释都会很棒。干杯。