C++模拟实现strcat

//模拟实现strcat
概念:
//将两个char类型的字符串连接,中间无空格
解题思路:
1> 定义两个字符串数组,再定一个数组用于存放这两个数组的值;
2> 为了使两个字符串相连,拷贝第二个数组里面的值是,需要获取第一个数组的’\0’存储的地方,将’\0’和’\0’之后的变成第二个数组的值;
3> 打印第三个数组。
代码:
C++模拟实现strcat
运行结果C++模拟实现strcat
另一种方法:
简单说明一下思路:这种方法相对对简单,先将dest指向’\0’,再从dest开始,将src的值赋给dest,注意不要忘记’\0’。

#include<stdio.h>
#include<stdlib.h>
#include<assert.h>

//实现strcat

void* Mystrcat(char* dest, const char*src)
{
//判断字符是否为空,为空程序停止
assert(dest != NULL);
assert(src != NULL);
//让dest指向’\0’的地址
while (*dest != ‘\0’)
{
++dest;
}
//将从dest的’\0’开始,将src的值赋值给dest
while (*dest = *src)
{
++dest;
++src;
}
//不要遗落’\0’
*dest = ‘\0’;
}
int main()
{
char src[] = “1234”;
char dest[100] = “abcd”;
Mystrcat(dest, src);
printf("%s\n", dest);
system(“pause”);
return 0;
}