libcurl http post отправить данные на сервер

curl_easy_setopt(curl, CURLOPT_URL, "127.0.0.1:8081/get.php");
curl_easy_setopt(curl, CURLOPT_POSTFIELDS,"pulse=70 & temp=35" );

этот код выполняется успешно, но когда я передаю это

int pulsedata = 70;
int tempdata  = 35;

curl_easy_setopt(curl, CURLOPT_POSTFIELDS, "pulse=pulsedata & temp = tempdata");

когда я запускаю эту строку выше, это дает мне ошибку
Как я могу передать эти импульсы и tempdata ??

-1

Решение

Возможное решение C:

char sendbuffer[100];
snprintf(sendbuffer, sizeof(sendbuffer), "pulse=%d&temp=%d", pulsedate, tempdata);
curl_easy_setopt(curl, CURLOPT_POSTFIELDS, sendbuffer);
0

Другие решения

Вы не можете использовать переменную в таких строках, вы должны отформатировать строку.

Возможное решение C ++ может быть использовать std::ostringstream как это:

std::ostringstream os;
os << "pulse=" << pulsedata << "&temp=" << tempdata;
curl_easy_setopt(curl, CURLOPT_POSTFIELDS, os.str().c_sr());

С этим решением std::ostringstream объект (os в моем примере) должен быть живым, пока все вызовы CURL не будут выполнены.


Также обратите внимание, что строка запроса, которую я создаю, не содержит пробелов.

0

По вопросам рекламы [email protected]