Вот то, что вы, вероятно, ищете:
size_t handle_data(void *ptr, size_t size, size_t nmemb, void *stream)
{
size_t numbytes = size*nmemb;
string temp(static_cast<char*>(ptr), nmemb);
contents.push_back(temp);
return numbytes;
}
Я вполне уверен, что вы не хотите писать в void *ptr
, который вы передали библиотеке CURL.Кроме того, похоже, что вы перезаписываете последний символ адреса памяти с помощью '\0'
, а затем возвращаете исходное значение туда после нажатия на вектор.Я не уверен, что это будет работать так, как ожидалось.