我希望从特定的起点将特定长度的内容从一个缓冲区复制到另一个缓冲区.我检查过memcpy()
但只需要复制内容的长度,而我也要指定起始索引.
是否有任何功能可以做到这一点,还是有任何好的方法来完成现有的memcpy
功能?
Goz*_*Goz 70
我总是喜欢这种语法
memcpy( &dst[dstIdx], &src[srcIdx], numElementsToCopy * sizeof( Element ) );
Run Code Online (Sandbox Code Playgroud)
小智 23
只需将您想要的偏移量添加到缓冲区的地址即可.
char abuff[100], bbuff[100];
....
memcpy( bbuff, abuff + 5, 10 );
Run Code Online (Sandbox Code Playgroud)
这将从abuff [5]开始复制10个字节到bbuff.
只需将偏移量添加到地址即可.例如,如果要从第N个字节开始复制缓冲区:
memcpy( destination, source + N, sourceLen - N );
Run Code Online (Sandbox Code Playgroud)
这将复制到destination
.如果您还想要偏移目标 - 将偏移添加到两者:
memcpy( destination + N, source + N, sourceLen - N );
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
56859 次 |
最近记录: |