首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从偏移位置开始复制内存

从偏移位置开始复制内存
EN

Stack Overflow用户
提问于 2012-08-17 05:49:17
回答 2查看 7.9K关注 0票数 0

如何从给定的偏移量开始复制内存。例如

代码语言:javascript
复制
int main()
{
   int a1[100], a2[100], i;
   errno_t err;

   // Populate a2 with squares of integers
   for (i = 0; i < 100; i++)
   {
      a2[i] = i*i;
   }

   // Tell memcpy_s to copy 10 ints (40 bytes), giving
   // the size of the a1 array (also 40 bytes).
   err = memcpy_s(a1, sizeof(a1), a2, 10 * sizeof (int) );    
   if (err)
   {
      printf("Error executing memcpy_s.\n");
   }
   else
   {
     for (i = 0; i < 10; i++)
       printf("%d ", a1[i]);
   }
   printf("\n");
}

如何将内存从a2复制到a1,从a1的索引50开始。

提前感谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-08-17 05:51:20

a1上加上50。不需要对sizeof进行加法运算;编译器知道如何做。

票数 6
EN

Stack Overflow用户

发布于 2012-08-17 05:51:20

将地址传递到要复制到的索引,作为memcpy的目标

代码语言:javascript
复制
memcpy(&a1[50], &a2[50], 10 * sizeof a[0]);
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11995938

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档