在c语言中处理有关字符串的函数有很多,比如strlen字符长度,strcpy字符串的拷贝,strstr在字符串中查找子字符串,strcat把一个字符串添加到另一个字符串后边,等等。。
那么今天我们来模拟一下strcat库函数,自己模拟一下。
首先strcat的用法:
char *strcat( char *strDestination, const char *strSource );
是将源(strSource)字符串添加到目的(strDestination)字符串的后边并以\0结尾。
下面看看自己的模拟:
#include<stdio.h>
#include<assert.h>
char *my_strcat(char *dst,char *src)
{
char *p = dst;
assert(dst);//判断指针不为null
assert(src);//判断指针不为null
while(*dst!='\0')//找到目的字符串的\0
{
dst++;
}
while(*dst=*src)//copy
{
dst++;
src++;
}
return p;
}
int main()
{
char arr1[30] = "hello world";
char arr2[] = " I am coder";
my_strcat(arr1,arr2);
printf("%s",arr1);
return 0;
}
代码的思想借助了strcpy函数的思想,有关strcpy函数本博客也有介绍,主要运用了,指针对字符一个一个的拷贝。
看运行结果: