请你能帮助我吗? 如何将一个int数组的一部分复制到另一个int数组中?如何将int数组的一部分复制到C/C++中的另一个int数组中?
例子:
typedef struct part {
int * array;
} PART;
int array[] = {1,2,3,4,5,6,7,8,9};
PART out[] = new PART[3];
for (int i = 0; i < 3; i++)
{
memcpy((char *)array[i * 3], (char *)out[i].array, 3 * sizeof(int));
}
但是,这不工作... :(
除了下面的答案,你的使用'memcpy'可能是错误的。 memcpy的第一个参数是_destination_,而不是源。 – lijie 2010-12-10 19:03:29
我看到你的问题有C++标记,如果是的话,不要用“typedef struct”丑化你的代码,不要使用memcpy,C++有std :: copy。仅为宏使用ALL_CAPS名称也是一个好主意。 – 2010-12-10 19:08:33