字符串拼接strcat使用及实现
拼接——strcat——原型——char*strcat(char*dest,const char*src)
把src所指向的字符串(包括'\0')复制到dest所指向的字符串后面(删除*dest原来末尾的'\0')
要保证*dest足够长,以容纳被复制进来的*src,*src中原有的字符不变,返回指向dest的指针
#include<stdio.h>#include <string.h>
#include<assert.h>//断言需要添加的头文件
char* myStrcat(char *des,char *src)
{
assert(des!=NULL&&src!=NULL);//断言
char *bak=des;
while(*des!='\0'){
des++;
}
while((*des++=*src++)!='\0');
*des='\0';
return bak;
}
char* myStrcat2(char *des,char *src)
{
char *bak=des;
strcat(des+strlen(des),src);
return bak;
}
char* myStrcat3(char *des,char *src)
{
assert(des!=NULL&&src!=NULL);//断言
char *bak=des;
for(;*des!='\0';des++);
while((*des++=*src++)!='\0');
*des='\0';
return bak;
}
int main()
{
char str[128]="chenlicheng";
char *p="handsome";
char *p2;
//p2=strcat(str,p);
p2=myStrcat3(str,p);
puts(str);
puts(p2);
return 0;
}