cocos2d-x v3.3でiphone用のソースを書いています。
external/curl/include/ios/curlをHeader Search Pathsに追加し、
curlコマンドを実行できるようにしたのはいいのですが、
サーバー上に存在するjsonファイルを取得しようとすると、
jsonの文字列の内容が二重になって返却されてしまいます。
ソースは以下のような形なのですが、何が原因なのでしょうか。
void mycurl::send(std::string url, std::string &buffer)
{
CURL *curl;
CURLcode result = CURLE_FAILED_INIT;
char errorBuffer[CURL_ERROR_SIZE]; curl = curl_easy_init(); if (curl) { curl_easy_setopt(curl, CURLOPT_ERRORBUFFER, errorBuffer); curl_easy_setopt(curl, CURLOPT_URL, url.c_str()); curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, mycurl::onCurlWrite); curl_easy_setopt(curl, CURLOPT_WRITEDATA, &buffer); result = curl_easy_perform(curl); curl_easy_perform(curl); if (result == CURLE_OK) { //二重で表示される! CCLog("%s", buffer.c_str()); } else { CCLog("%s", errorBuffer); } }
}
size_t mycurl::onCurlWrite(char *data, size_t size, size_t nmemb, std::string *buffer)
{
//ここも二回呼び出される!
size_t dataLength = size * nmemb;
buffer->append(data, dataLength);
return dataLength;
}

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2015/03/29 14:02