首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >memcpy和startIndex?

memcpy和startIndex?
EN

Stack Overflow用户
提问于 2009-07-22 07:31:19
回答 9查看 82.7K关注 0票数 45

我希望从特定的起点将特定长度的内容从一个缓冲区复制到另一个缓冲区。我检查了memcpy(),但它只需要复制内容的长度,而我还想指定起始索引。

有没有什么函数可以做到这一点,或者有什么好的方法可以用现有的memcpy函数来做到这一点?

EN

回答 9

Stack Overflow用户

发布于 2009-07-22 08:52:12

我总是更喜欢这种语法

代码语言:javascript
复制
memcpy( &dst[dstIdx], &src[srcIdx], numElementsToCopy * sizeof( Element ) );
票数 92
EN

Stack Overflow用户

发布于 2009-07-22 07:32:26

只需将您想要的偏移量添加到缓冲区的地址。

代码语言:javascript
复制
char abuff[100], bbuff[100];
....
memcpy( bbuff, abuff + 5, 10 );

这会将从abuff5开始的10个字节复制到bbuff。

票数 31
EN

Stack Overflow用户

发布于 2009-07-22 07:32:10

只需将偏移量添加到地址。例如,如果要复制从第N个字节开始的缓冲区:

代码语言:javascript
复制
memcpy( destination, source + N, sourceLen - N );

这将复制到destination。如果您还想对目标进行偏移-将偏移添加到两个:

代码语言:javascript
复制
memcpy( destination + N, source + N, sourceLen - N );
票数 14
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1163624

复制
相关文章

相似问题

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