memcpy 怎么使用
时间: 2023-10-16 18:33:37 浏览: 32
memcpy的用法
`memcpy` 是 C/C++ 标准库中的一个函数,用于将一段内存区域的数据拷贝到另一段内存区域。其函数原型为:
```c
void* memcpy(void* dest, const void* src, size_t count);
```
其中,`dest` 是目标内存地址,`src` 是源内存地址,`count` 是要拷贝的字节数。
使用 `memcpy` 时需要注意以下几点:
1. 目标内存地址和源内存地址不能重叠,否则会出现未定义行为。
2. `count` 参数应该是源和目标内存区域的最小长度,否则可能会导致越界访问。
下面是使用 `memcpy` 的一个例子:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str1[20] = "Hello, world!";
char str2[20];
memcpy(str2, str1, strlen(str1) + 1);
printf("str2 = %s\n", str2);
return 0;
}
```
这个例子将字符串 "Hello, world!" 拷贝到 `str2` 中,并输出 `str2` 的值。注意,在使用 `memcpy` 进行字符串拷贝时,应该将源内存区域的长度加 1,以便将字符串的结尾符 '\0' 一并拷贝过去。
阅读全文