目录
1.头文件
#include<string.h>
2.怎么使用?自我理解
strcat全称Strings Catenate,字符串的横向连接。
字面意义,就是将两个字符串接起来(就像人体蜈蚣),需要传入两个参数,第一个参数用来作为头部,第二个参数则是用来则为尾部,贴在一参数的尾部。
例如,字符串 “yangjianglong” 作为第一个参数,字符串“mzq” 作为第二个参数。
利用strcat 后 第一个字符串 就变为了 yangjianglongmzq。
3.使用条件
源字符串必须以 '\0' 结束。• ⽬标字符串中也得有 \0 ,否则没办法知道追加从哪⾥开始。• ⽬标空间必须有⾜够的⼤,能容纳下源字符串的内容。• ⽬标空间必须可修改。
4.模拟实现
char *my_strcat(char *dest, const char*src)
{
char *ret = dest;
assert(dest != NULL);
assert(src != NULL);
while(*dest)
{
dest++;
}
while((*dest++ = *src++))
{
;
}
return ret;
}
代码解析,assert断言为了防止出现空指针。
用一个 ret 指针 接收 dest 是为了之后 返回的是 dest 的首地址。因为 数组的数组名通常情况下是 数组元素的首地址。
第一个while循环 用来将第一个字符串 的地址 直接加到‘\0’ 的位置。
第二个while 循环的意思是 将解引用的 dest 同位置的值改为 src 的位置的值,说人话就是在dest 后面 添加 src 字符。后置++ 就是为了在 更改结束后,两个指针变量的地址加1.
最后返回ret指针即可