memmove函数?
时间: 2024-06-14 17:04:01 浏览: 67
用memmove函数代替strncpy函数
memmove函数是C语言中的一个库函数,用于将一段内存块的内容复制到另一段内存块中。它可以处理源内存块和目标内存块有重叠的情况,因此比memcpy函数更加灵活。
下面是一个使用memmove函数的例子:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[] = "hello world!";
memmove(str + 6, str, strlen(str) + 1);
puts(str); // 输出:world! world!
return 0;
}
```
在这个例子中,我们将字符串"hello world!"中的内容复制到了字符串的第6个位置开始的位置,结果是"world! world!"。
memmove函数的原型如下:
```c
void* memmove(void* dest, const void* src, size_t num);
```
其中,dest是目标内存块的指针,src是源内存块的指针,num是要复制的字节数。函数会将src指向的内存块中的内容复制到dest指向的内存块中,复制的字节数为num。
阅读全文