C ++将X矢量数据插入另一个矢量

时间:2017-07-10 22:39:04

标签: c++ vector

我遇到了将数据从一个向量复制到另一个向量的问题。 为了更好地理解我的问题,想象一下我有一个vectorA和一个vectorB,相同的数据类型。 矢量A里面什么都没有,有5个大小。

我想把vectorB的前5个字节放到vectorA中,但我不知道怎么做。 基本上,这样的事情:

vectorA.insert(vectorB.begin(),5,vectorB(5));

那不起作用,但我怎么能做那样的事呢? 我应该在数组中转动向量吗?我真的不知道该做什么,因为我刚开始使用矢量,所以一个帮助/解决方案会很棒。

无论如何,谢谢!

2 个答案:

答案 0 :(得分:2)

您可以使用a的数据填充b,如下所示:

std::vector<char> a,b;
// fill up b
a.insert(a.begin(),b.begin(),b.end());

// or if only wanting a certain number of bytes:
size_t bytes = 5;
a.insert(a.begin(),b.begin(),b.begin() + 5);

如果您使用第二种方法,请务必确保b有足够的数据要插入。您可以使用条件或类似方式进行检查:

a.insert(a.begin(),b.begin(),b.begin() + std::min(b.size(), 5));

参见std::insert的第四个原型。

答案 1 :(得分:0)

您只需使用jackson-core

即可
for loop