首页 > 编程知识 正文

strcat函数c语言实现,编程模拟实现库函数strcat的功能

时间:2023-05-04 05:19:01 阅读:255485 作者:3251

函数介绍:

strcat函数是字符串连接/追加函数,简单说明就是将一个字符串连接/追加到另一个字符串后面。当然也是有条件限制的,例如字符串必须以‘’结尾,目标字符串的空间要足够大,可容下源字符串的内容,目标空间可修改等。strcat函数的语法及参数是这样的:

char * strcat(char * destination,const char * source)

看一看strcat函数的具体使用方法,打印出来的结果为“abcdef”,可以将arr2的内容连接到arr1后,值得注意的是,arr1的空间一定要足够容纳arr2的字符串。

#include <stdio.h>#include <string.h>int main(){char arr1[10] = "abc";char arr2[] = "def";strcat(arr1, arr2);printf("%s", arr1);return 0;}

接下看我们自己做一个函数,模拟strcat函数的功能。

#include <stdio.h>#include <string.h>#include <assert.h>char* my_strcat(char* dest, const char* src){assert(dest && src);char* ret = *dest;while (*dest){dest++;}strcpy(dest, src);return ret;}int main(){char arr1[10] = "abc";char arr2[] = "def";my_strcat(arr1, arr2);printf("%sn", arr1);return 0;}

代码详细讲解:

1.在主函数中定义两个字符串分别为arr1和arr2,当然按照要求arr1要有足够大的空间接受arr2

2.将两个字符串传入my_strcat函数,也就是我们自己制作的连接字符函数

3.开始制作my_strcat函数,用dest和src接受参数,分别代表目的地和源头,const代表src无法修改

4.使用assert断言dest和src,如果他们是空指针的话程序无法运行,并且创建一个新指针指向dest,也就是字符串的首地址

5.使用while循环,如果dest不为0则dest++,循环结束后dest指向字符串“a b c ”中的“”;

6.使用strcpy函数将src中的内容拷贝到目前dest指向的地址

7.返回指针ret,也就是字符串的起始地址,这时后面的字符串已经连接完成

8.别忘了引头文件,assert的头文件是#include <assert.h>,strcpy和strcat的头文件是#include <string.h>

以上步骤完成以后,就可以运行程序,得到连接后的字符串啦,来看看运行结果~

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。