请问复制两端字符串
```c++
char *dest=new cha[0x32];
dest="1111";
char* sorce="0000";
memcpy(dest+y,source,x)
这里的x是填4呢还是填5呢,要不要把source末尾的0复制进去呢
另外,这个y是0还是1呢,如果是1,是不是代表 了dest末尾的\0呢
复制的时候,要不要通过source把dest末尾的0给占了呢
```
请问复制两端字符串
```c++
char *dest=new cha[0x32];
dest="1111";
char* sorce="0000";
memcpy(dest+y,source,x)
这里的x是填4呢还是填5呢,要不要把source末尾的0复制进去呢
另外,这个y是0还是1呢,如果是1,是不是代表 了dest末尾的\0呢
复制的时候,要不要通过source把dest末尾的0给占了呢
```
x 应该填写 4,因为需要复制的是 4 个字符(包括源字符串的结尾符 '\0')。
y 应该填写 4,如果填写 1 则会把源字符串复制到目标字符串的起始位置,导致目标字符串的原有内容被覆盖,如果填写 4,则会在目标字符串的结尾处添加源字符串。
由于源字符串的结尾符 '\0' 也是一个字符,因此 memcpy 函数会把源字符串的结尾符也复制到目标字符串中,不需要额外处理。
char* dest = new char[0x32];
strcpy(dest, "1111");
const char* source = "0000";
size_t x = 4;
size_t y = strlen(dest);
memcpy(dest + y, source, x);