4

我正在寻找一个类似于 C# Array.Copy() 的 C 函数。我只找到了 memcpy(),但我也需要从特定索引中复制。

4

3 回答 3

7

如果你有这样的数组:

SomeType myArray[50];

并且您想要复制索引为 19-29 的元素(第 20 到第 30 个元素)。

然后你做:

memcpy(dest, &myArray[19], 10 * sizeof(SomeType));

注意:此代码段未提供初始化myArray或分配内存到dest

于 2012-04-09T13:31:53.410 回答
3

memcpy就是你所拥有的。如果你想复制特定的范围,它是这样的:

memcpy(dst, &src[i_start], num_to_copy * sizeof(*src));
于 2012-04-09T13:29:54.000 回答
1

使用指针算法。这是邪恶的,但在 C 中,它是你的朋友。

于 2012-04-09T13:29:50.843 回答