我想使用 memcpy 而不是 for 循环将一个缓冲区的第二个元素复制到另一个缓冲区。
for(i=1,j=0; i<12; i++,j++)
{
buff[j] = buffer[i];
}
有人可以推荐我吗
最佳答案
假设它们都是“真正的”数组,因此不重叠:
memcpy(buff, buffer + 1, 11 * sizeof *buff);
这还假设它们都具有相同的类型,但使用 sizeof
来计算项目大小,因此无论数组的实际类型如何,它都可以工作。
关于使用 memcpy 从缓冲区的第二个元素复制到其他缓冲区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20542117/