代码点读机 / C / memmove

memmove C · 字符串函数

把一块内存复制到另一块内存,即使源和目标重叠也能正确处理。

怎么用

memmove(目标地址, 源地址, 字节数);

小例子

#include <stdio.h>
#include <string.h>
int main(void) {
    char s[] = "abcdef";
    memmove(s + 2, s, 4);
    printf("%s", s);
    return 0;
}

运行结果

输出 ababcd

提醒:重叠区域复制时优先用它;比 memcpy 慢但更安全

官方文档:https://en.cppreference.com/w/c/string/byte/memmove

在代码里遇到不认识的词?打开代码点读机,点一下就懂 → ← C全部词条