linux C++ memcpy
时间: 2023-10-12 12:19:52 浏览: 214
在 Linux C++ 中,`memcpy` 函数是用来执行内存拷贝的标准函数,其原型定义在头文件 `string.h` 中,函数的定义如下:
```c++
void* memcpy(void* dest, const void* src, size_t n);
```
其中,`dest` 是指向目标内存位置的指针,`src` 是指向源内存位置的指针,`n` 是要拷贝的字节数。`memcpy` 函数会将 `src` 指向的内存区域的前 `n` 个字节拷贝到 `dest` 指向的内存区域。如果 `src` 和 `dest` 指向的内存区域重叠,那么 `memcpy` 函数的行为是未定义的。
下面是一个使用 `memcpy` 函数将一个字符串拷贝到另一个字符串的例子:
```c++
#include <iostream>
#include <cstring>
int main()
{
char src[] = "Hello, world!";
char dest[20];
std::memcpy(dest, src, std::strlen(src) + 1);
std::cout << dest << std::endl;
return 0;
}
```
在这个例子中,我们将字符串 `"Hello, world!"` 拷贝到了 `dest` 数组中,并使用 `std::strlen` 函数计算了源字符串的长度。注意,为了在 `dest` 数组中存储完整的源字符串,我们需要在拷贝时加上一个字节用于存储字符串结束符 `\0`。
阅读全文