模拟实现strcat和strncat

    今天我们模拟实现一下strcat和strncat这两个函数。

创新互联公司2013年至今,是专业互联网技术服务公司,拥有项目网站设计制作、网站建设网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元革吉做网站,已为上家服务,为革吉各地企业和个人服务,联系电话:18980820575

    首先我们先了解一下strcat这个函数,它的意思是将第二个字符串连接到第一个字符串的末尾。我们先看下函数原型: char *strcat(char *dest, char *src) 把src所指字符串添加到dest结尾处(覆盖dest结尾处的'\0')并添加'\0'。下面我们来看一下程序:

#include 
#include 
char *my_strcat (char *dest, char *src)
{
	char *ret = dest;
	assert(dest);
	assert(src);
	while (*dest)    //通过while循环找到第一个字符串的末尾
	{
		dest++;
	}
	while (*dest++ = *src++)  //通过此次while循环将第二个字符串连接到第一个字符串上
	{
		;
	}
	return ret;
}
int main()
{
	char dest[20] = "hello";
	char *psrc = "world";
	char *ret = my_strcat(dest,psrc);
	printf("%s\n",ret);
	return 0;
}

    下面我们来介绍一下strncat这个函数,其实它大体和strcat这个函数差不多,但它的区别在于这个“n”。我们来看一下函数原型:char *strncat(char *dest , char *src, int n),   这个函数的功能是把src所指字符串的前n的字符添加到dest结尾处(覆盖dest结尾处的'\0')并添加'\0'。这个函数和上一个的区别就在于这个函数对第二个字符串的字符数有要求。那么下面我们看一下代码:

#include 
#include 
void *my_strncat(char *dest, const char *src,int n)
{
	assert(dest);
	assert(src);
	while (*dest != '\0')
	{
		dest++;
	}
	while (n--)  //通过此次while循环,将第二个字符串前n的字符连接到第一个字符串上
	{
		*dest++ = *src++;
	}
	*dest = '\0';
}
int main()
{
	char arr1[10] = "abc";
	char arr2[] = "defgh";
	int num = 0;
	scanf("%d",&num);
	my_strncat(arr1,arr2,num);
	puts(arr1);
	return 0;
}

    通过以上这两段代码,我相信大家已经能够了解strcat和strncat这两个函数的区别了。


当前题目:模拟实现strcat和strncat
网站路径:http://bzwzjz.com/article/jjghss.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: 定制网站设计 成都网站设计 重庆外贸网站建设 品牌网站建设 广安网站设计 成都响应式网站建设 成都网站设计 营销型网站建设 梓潼网站设计 成都h5网站建设 定制网站制作 成都网站建设 成都网站建设公司 网站设计 重庆电商网站建设 手机网站制作 成都网站建设 手机网站建设 成都网站设计 成都企业网站建设 网站建设推广 营销型网站建设