gpt4 book ai didi

c++ - 在 C++ 中将来自 2 个不同源的数据复制并组合到 1 个目标

转载 作者:行者123 更新时间:2023-12-05 03:16:23 26 4
gpt4 key购买 nike

如何在 C++ 中将数据从 2 个不同的源复制和组合到 1 个目标?

struct M{
int a;
int b;
}m;

struct N{
int c;
int d;
}n;
std::vector<std::uint8_t> destination(sizeof(M)+sizeof(N));
memcpy(destination.data(), ?? , sizeof(M)+sizeof(N))

如何组合 M 和 N 并将其添加到 memcpy 函数的第二个参数中?感谢一些帮助谢谢

最佳答案

您不能使用 memcpy从 2 个不同的源复制数据(在 1 个调用中)。
但是您可以调用它两次 - 每个源一次。

请注意,第二个拷贝应考虑到第一个源已占据缓冲区的开头:

std::vector<std::uint8_t> destination(sizeof(M) + sizeof(N));
std::memcpy(destination.data(), &m, sizeof(M));
//-----------------------------vvvvvvvvvv------------------
std::memcpy(destination.data() + sizeof(M), &n, sizeof(N));

关于c++ - 在 C++ 中将来自 2 个不同源的数据复制并组合到 1 个目标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74688852/

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