【C语言】模拟实现strcat

strcat在小白看来是一个比较陌生的库函数,但也要牢牢掌握

目录

  • 介绍:
  • 模拟实现:

介绍:

【C语言】模拟实现strcat_第1张图片

str代表字符串,那么cat代表什么?
他代表Catenate,连接的缩写,也就是追加字符串的意思

代码示例:

int main()
{
	char str1[20] = "abc";
	char str2[] = "dfg";
	strcat(str1, str2);
	printf("%s\n", str1);
	return 0;
}

结果:
在这里插入图片描述

此函数的注意事项:
1.源字符串必须以 ‘\0’ 结束。
2.目标空间必须有足够的大,能容纳下源字符串的内容。
3.目标空间必须可修改。
4.不可以自己追加自己。
解释:关键在于 '\0',因为
【C语言】模拟实现strcat_第2张图片

模拟实现:

思路:

先遍历目标字符串找到\0的位置,然后利用指针的解引用将原字符串的值一 一赋给目标字符串

char* my_strcat(char* dest, const char* src)
{
	char* ret = dest;
	assert(dest && src);
	while (*dest)
	{
		dest++;
	}
	while (*dest++ = *src++)
	{
		;
	}
	return ret;
}

int main()
{
	char str1[20] = "abc";
	char str2[] = "def";
	printf("%s\n",my_strcat(str1, str2));
	return 0;
}

欢迎纠错与讨论

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