【发布时间】:2011-01-20 17:40:20
【问题描述】:
我想将这个 curl 函数的结果存储在一个变量中,我该怎么做?
#include <stdio.h>
#include <curl/curl.h>
int main(void)
{
CURL *curl;
CURLcode res;
curl = curl_easy_init();
if(curl) {
curl_easy_setopt(curl, CURLOPT_URL, "curl.haxx.se");
res = curl_easy_perform(curl);
/* always cleanup */
curl_easy_cleanup(curl);
}
return 0;
}
谢谢,我是这样解决的:
#include <stdio.h>
#include <stdlib.h>
#include <curl/curl.h>
function_pt(void *ptr, size_t size, size_t nmemb, void *stream){
printf("%d", atoi(ptr));
}
int main(void)
{
CURL *curl;
curl = curl_easy_init();
if(curl) {
curl_easy_setopt(curl, CURLOPT_URL, "curl.haxx.se");
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, function_pt);
curl_easy_perform(curl);
curl_easy_cleanup(curl);
}
system("pause");
return 0;
}
【问题讨论】:
-
只是在您的解决方案中指出 function_pt() 您正在将 ptr 中的字符串转换为整数,以便将其转换回输出中的字符串。您可以直接输出字符串(并查看完整响应)。
-
这里是 cURL 示例的链接curl.haxx.se/libcurl/c/getinmemory.html
-
CURLcode res;未使用 -
同样的问题,但对于 C++ 而不是 c 转到此处:Save cURL content result into a string in C++