C语言strcat库函数讲解
MSDN关于strcat库函数的介绍
解析:
从上述MSDN关于strcat库函数的介绍中,我们可以清楚地知道strcat库函数的头文件是<string.h>,接收的两个参数分别是目的地参数和源头参数,strcat库函数所起的作用就是把源头参数的内容连接在目的地参数内容的后面,然后strcat库函数最终返回的是目的地参数的内容。
模拟实现(图解思路):
代码演示:
代码提取:
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<string.h>
#include<assert.h>
char *my_strcat(char *strDestination, const char *strSource)
{
assert(strDestination && strSource);//防止传进来是空指针,这样就可以直接报错了
char *ret = strDestination;//因为strcat的返回类型是char*类型的,所以我们定义一个char*类型的变量待会用来返回,初始化为指向目的地数组的指针变量
while (*strDestination++ != '\0');//目的地指针变量需要先找到不是\0的元素,然后才能开始从目的地数组\0的位置连接
while (*strDestination++ = *strSource++);//开始从目的地数组\0的位置连接源头数组的内容,直到源头数组找到\0为止就停止连接
return ret;//返回连接后的数组
}
int main()
{
char arr1[40] = "ToadWantToEat";
char arr2[] = "SwanMeat";
printf("%s\n", strcat(arr1, arr2));//库里面的
printf("%s\n", my_strcat(arr1, arr2));//模拟实现的
return 0;
}
备注:
楼主不才,不喜勿喷,若有错误或需要改进的地方,非常感谢你的指出,我会积极学习采纳。谢谢家人们一直以来的支持和鼓励,我会继续努力再接再励创作出更多优质的文章来回报家人们的。编程爱好的xdm,若有编程学习方面的问题可以私信我一同探讨(我尽力帮),毕竟“众人拾柴火焰高”,大家一起交流学习,共同进步!
2021年12月18日