C语言strcat函数使用及模拟

函数介绍:

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

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

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

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

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

#include 
#include 
#include 

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("%s\n", 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 \0”中的“\0”;

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

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

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

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

C语言strcat函数使用及模拟_第1张图片

你可能感兴趣的:(c语言)