我想使用memcpy从c中的某个字节进行复制

问题描述 投票:0回答:1

我想将部分数据复制到source_mac中

这是我的代码:

uint8_t *data
uint8_t *source_mac

memcpy(&source_mac, &data[6], 6);

所以我想从

data
复制 6 个字节,从数据中的第 6 个字节开始,复制到
source_mac
...我做错了什么?

c memcpy
1个回答
0
投票

您的代码片段中有多个问题:

  • 第 6 个字节是
    data[5]
  • 您将
    &source_mac
    作为目标传递,这是
    source_mac
    指针的地址,而不是目标数组的地址。您应该通过
    &source_mac[0]
    或简单地
    source_mac

这是修改后的版本:

    uint8_t *data
    uint8_t *source_mac
    [...]
    memcpy(source_mac, &data[5], 6);
© www.soinside.com 2019 - 2024. All rights reserved.