C++模拟实现strcat

本文介绍了如何使用C++模拟实现strcat函数,通过定义两个字符串数组并创建第三个数组来存储连接后的字符串。首先找到第一个数组的结束符'',然后将第二个数组的值复制到''后面,最后添加结束符''。文中提供了两种不同的实现方法,展示了详细的代码实现和运行结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

//模拟实现strcat
概念:
//将两个char类型的字符串连接,中间无空格
解题思路:
1> 定义两个字符串数组,再定一个数组用于存放这两个数组的值;
2> 为了使两个字符串相连,拷贝第二个数组里面的值是,需要获取第一个数组的’\0’存储的地方,将’\0’和’\0’之后的变成第二个数组的值;
3> 打印第三个数组。
代码:
在这里插入图片描述
运行结果在这里插入图片描述
另一种方法:
简单说明一下思路:这种方法相对对简单,先将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;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值