存储字符数组

Store char array

本文关键字:数组 字符 存储      更新时间:2023-10-16

另一个C ++问题。

我使用库从 Web 服务接收数据。每次我获取内容时,都会调用一个名为 OnData 的方法。

void OnData(const Response* r, void* userdata,
    const unsigned char* data, int n) { //code here }

常量无符号字符* 数据包含我想要的数据。但OnData被多次调用。所以我想我会使用一个字符串并附加该数据。我没有编译错误,所以我希望它能工作。但是当我收到错误时,我做了一个搅拌的输出,我注意到我只得到了预期数据的 15%。

在那之后,我一直在互联网上搜索一段时间,寻找一种可以在某种数组中保护所有这些数据的方法。

额外的东西,我需要有一个字符指针来发送到我的 xml 解析器。因此,如果有一种方法可以在一个漂亮的字符指针中获取所有这些数据,那将有很大帮助。

用类似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);