0
点赞
收藏
分享

微信扫一扫

函数strcat( )

小亦同学321 2022-04-13 阅读 88
c语言

strcat(,)函数的作用是将两个字符串拼接在一起并返回前一个字符串。调用strcat函数需要包含头文件<string.h>。下面我们使用一下它。

#include <stdio.h>
#include <string.h>

int main(){
	char str[128]="play volleyball";
	char *p=" in the evening";
	char *p2;
	
	p2=myStrcat3(str,p);
	
	puts(p2);
	puts(str);
	
	return 0;
}

用过之后,来自己定义一个玩玩。

char* myStrcat(char *des,char *soc)
{
	assert(des != NULL && soc != NULL);
	char *bak=des;
	
	while(*des /*!= '\0'*/){
		*des++;
	}
	
	while((*des++ = *soc++) != '\0');
	*des = '\0';
	
	return bak;
}

myStrcat的内容也很简单,先让指向目标字符串的指针偏移到字符串的最后,然后再循环赋值,最后加上结束标志。这里同样需要用到第三个指针bak,来定位目标字符串的首地址。这个函数还有很多写法。

char* myStrcat2(char *des,char *soc)
{
	char *bak=des;
	strcpy(des+strlen(des),soc);
	return bak;
}

myStrcat2的写法就有点投机取巧,使用strcpy和strlen这两个函数来实现拼接。

char* myStrcat3(char *des,char *soc)
{
	assert(des != NULL && soc != NULL);
	char *bak=des;
	
	for(;*des != '\0';des++);
	
	while((*des++ = *soc++) != '\0');
	*des = '\0';
	
	return bak;
}

myStrcat3则是使用for循环来实现指针的偏移。

不同的系统下,strcat函数的源代码都不一样,我们只需要弄懂它的原理,而且尝试定义出其中的某一种就足够了。

举报

相关推荐

0 条评论