LINUX.ORG.RU

Не могу отправить POST

 ,


2

2

Беда, ребятки, беда.

const char *c_params = "key1=value1&key2=value2";
const std::string s_params = "key1=value1&key2=value2";
curl_easy_setopt(this->curl, CURLOPT_POSTFIELDS, c_params); //работает
curl_easy_setopt(this->curl, CURLOPT_POSTFIELDS, s_params.c_str()); //не работает
Что может быть не так? К серверу доступа нету, чтобы глянуть что может быть не так...

★★★★

Последнее исправление: FIL (всего исправлений: 2)

Ответ на: комментарий от FIL

Ну, ты понимаешь ведь, в чём разница между твоими двумя вариантами? Память для строковых литералов выделяется в .rodata и никуда не исчезает за всё время работы программы, а для std::string — на куче (и освобождается после разрушения переменной, т. е. после выхода из функции).

intelfx ★★★★★
()
Последнее исправление: intelfx (всего исправлений: 2)

Будь мужыком, используй CURLOPT_WRITEFUNCTION , с ней такой фигни не случится.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.