Чтобы получить данные в строку, вам нужно настроить функцию обратного вызова записи:
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, callback_func);
Также адрес вашей строковой переменной для получения данных:
curl_easy_setopt(curl, CURLOPT_WRITEDATA, &str)
Функция обратного вызова будет выглядеть так:
size_t callback_func(void *ptr, size_t size, size_t count, void *stream)
{
/* ptr - your string variable.
stream - data chuck you received */
printf("%.*s", size, (char*)stream);
}
Поскольку вы не будете знать общий размер данных, которые вы будете получать, вам потребуется перераспределить указатель, чтобы получить их в строку.