-1
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");

上記の行を実行すると、エラーが発生します。この pulsedata と tempdata を渡すにはどうすればよいですか??

4

2 に答える 2

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 呼び出しがすべて完了するまで生きている必要があります。


また、作成するクエリ文字列にはスペースが含まれていないことに注意してください。

于 2015-08-17T08:24:29.630 に答える
0

考えられる C ソリューション:

char sendbuffer[100];
snprintf(sendbuffer, sizeof(sendbuffer), "pulse=%d&temp=%d", pulsedate, tempdata);
curl_easy_setopt(curl, CURLOPT_POSTFIELDS, sendbuffer);
于 2015-08-17T08:33:34.267 に答える