c语言中两个字符串合并成一个字符串(不用strcat函数)

来源:百度知道 编辑:UC知道 时间:2024/05/16 23:19:26
c语言中两个字符串合并成一个字符串(不用strcat函数)
比如说:str1[]={"abcdef"},str2[]={"decdfs"}
最后输出为abcdefdecdfs和decdfsabcdef
我知道用strcat函数可以很简单的合成,但是现在的问题是不用strcat函数怎样来写?

void xstrcat(str1,str2)
{
int i,len1;
for(i=0;str1[i]!='\0';i++);
len1=i;
for(i=0;str2[i]!='\0';i++)
str1[i+len1]=str2[i];
}

可以这样做

int String_GetLength(char* s)
{
int i=0;
while (*s){
i++;
s++;}
return i;
}

char* String_Cat(char* s1,char* s2)
{
int size1=String_GetLength(s1);
int size2=String_GetLength(s2);
char* s=(char*)malloc(size1+size2+1);
memcpy(s,s1,size1);
memcpy(s+size1,s2,size2+1);
return s;
}

kmlxk写的好