使用HttpRequest打印response必崩,求解。。

{
HttpRequest *request = new HttpRequest();
request->setRequestType(HttpRequest::Type::GET);
request->setUrl(“www.hao123.com”);
// request->setResponseCallback(this, callfuncND_selector(NetWork::HttpCallback));
request->setResponseCallback(this, httpresponse_selector(NetWork::HttpCallbac1));
HttpClient::getInstance()->send(request);
request->release();
return true;
}

void NetWork::HttpCallbac1(HttpClient* client, HttpResponse* response)
{
log(“123”);
std::vector* pVec = response->getResponseData();
char *string = pVec->data();
log("%s", string);

return;

}

在log("%s", string);的地方必崩。

因为std::vector不是以\0结尾的
log("%.*s", pVec->size(), pVec->data());

3Q了, 不是这个问题。。不好用的。 还不知道具体是什么原因

尝试改下代码

string logStr;
logStr.assign(pVec->begin(), pVec->end());
CCLog("%s", logStr.c_str());

char *string = pVec->data();
log("%s", string);

检查下string的长度是否超过log的最大打印长度