gpt4 book ai didi

c++ - 将多个 void* 复制到一个 vector 中

转载 作者:行者123 更新时间:2023-11-30 02:48:58 26 4
gpt4 key购买 nike

多年后我又回到了 C++(之前从未如此深入),所以请原谅我的菜鸟 :)

作为结构的字段,我有一个指向某些数据的 *void。 struct 指向的内存在每次调用给定函数后都会填充不同的数据,所以我想在 vector 中每次函数调用后“缓存”结果,以便最终获得所有数据。我怎样才能实现这个目标?

我声明了一个 static vector<unsigned char> vectorBuffer;并尝试了 vectorBuffer.insert(vectorBuffer.end(), (unsigned char*)myStruct->thePointer)vectorBuffer.push_back((unsigned char*)myStruct->thePointer)但显然我遇到了错误。获得这样结果的正确方法是什么?

谢谢

编辑:我也知道 void* 的大小,因为我的结构中有另一个字段会随着数据的刷新而刷新。

最佳答案

按照这些思路,您需要执行以下操作来缓冲在多个回调中碎片化的数据:

#include <vector>

std::vector<char> buffer;

buffer.insert(buffer.end(), data, data+length);

假设 data 是回调中的数据,长度也是可用的。

关于c++ - 将多个 void* 复制到一个 vector 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21662005/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com