另一个c ++问题。
我使用libary从Web服务接收数据。每次我获取内容时,都会调用一个名为OnData的方法。
void OnData(const Response* r, void* userdata,
const unsigned char* data, int n) { //code here }
const unsigned char * data包含我想要的数据。但OnData被多次调用。所以我想我会使用一个字符串,然后用它附加数据。我没有编译错误,所以我期待它工作。但是当我收到错误时,我输出了搅拌器,我注意到我只有15%的预期数据。
之后我一直在互联网上搜索一段时间寻找一种方法来保护某些阵列中的所有数据。
额外的东西,我需要一个char指针发送到我的xml解析器。所以,如果有一种方法,我可以在一个漂亮的char指针中获取所有数据,这将有助于很多。
答案 0 :(得分:1)
制作std:string Mydata(data);
之类的副本可能是一种严格的方法。您可以将它们存储在std::vector<std:string>
编辑:
由于数据可能不是零终止:
static std::vector<std:string> MyData;
MyData.emplace_back(data,n);
或者如果您想将所有数据存储在一个字符串中:
static std::string MyData;
MyData.append(data,n);