Quiero almacenar el resultado de esta función curl en una variable, ¿cómo puedo hacerlo?C libcurl obtener salida en una cadena
#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;
}
gracias, resuelven de esta manera:
#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;
CURLcode res;
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;
}
Solo para señalar en su solución en function_pt() está convirtiendo la cadena en ptr en número entero para convertirla de nuevo en cadena en la salida. Puede enviar la cadena directamente (y ver la respuesta completa). – zzz
aquí hay un enlace al ejemplo cURL http://curl.haxx.se/libcurl/c/getinmemory.html – lafferc
'CURLcode res;' no se usa – fnc12