gpt4 book ai didi

c - 移动一 block malloc 内存的最简单方法

转载 作者:太空狗 更新时间:2023-10-29 15:48:59 24 4
gpt4 key购买 nike

我需要向下移动一 block 分配的内存。目前,我正在创建一 block 临时内存,然后将其复制过来,然后他们用 shift 将其重新复制回来

void * buf = malloc(5);
void * temp = malloc(5);

memcpy(temp, buf, 5);
memset(buf, 0, 5);
memcpy(buf, temp + 1, 4);

有更好的方法吗?

最佳答案

是的,使用memmove:

char * buf = malloc(5);   // pointer arithmetic only on chars!

memmove(buf, buf + 1, 4);
memset(buf + 4, 0, 1);

关于c - 移动一 block malloc 内存的最简单方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16179508/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com