我有一个名为“A”的uchar
(字节)数组(长一个 - 它代表一个图像)。
我需要的是将子阵列从位置i替换为位置j和“B”阵列。
无需搜索“A”,索引是已知的。
当然,我可以逐字节地完成它,但这需要实时工作,所以我正在寻找一个能很好地完成这项工作的库函数。
答案 0 :(得分:7)
我会这样做:
std::copy(B, B + i - j, A + i);
这将取代A + i位置,B的内容。实际上,实施将相当于memcpy,就像Vlad所做的那样。我建议使用std :: copy,它是一种标准算法,一旦你学习了它的接口,它就比普通的旧数据类型更有用,即使在普通旧数据的情况下,一个不错的实现也会是最佳的或接近最优的。
答案 1 :(得分:2)
此库函数名为memcpy
,在标题<cstring>
例如
#include <cstring>
//...
std::memcpy( A + i, B, j - i + 1 );
如果要复制位置j中的符号。否则第三个参数将是j - i