自定义函数中,字符串的连接实现方法是动态申请一个足够容量的字符串指针,依次读取两个字符串,分别输入结果字符串变量中
#include <stdio.h>
#include <stdlib.h>
char* Strcat(char *str1,char *str2)
{
int size_str1,size_str2;
size_str1=sizeof(str1); //字符串1/2的长度
size_str2=sizeof(str2);
int size=size_str1+size_str2; //两个字符串总长度
char* tempt =(char*) malloc(sizeof(size)); //为两个字符串合并申请内存空间
char* result=tempt;
while(*str1!='\0')
{
*tempt=*str1; //将字符指针指向的元素赋值到tempt中
tempt++; //新字符串的指针向后移动一位
str1++; //str1的字符指针也向后移动一位
}
while(*str2!='\0')
{
*tempt = *str2;
tempt++;
str2++;
}
*tempt = '\0' ; //连接完毕要记得添加字符串结束标志,表示字符串结构的完整
return result; //result是字符串指针,tempt是字符指针
}
int main()
{
char *a = "hello";
char *b = ",world!";
printf("string a = %s\n",a);
printf("string b = %s\n",b);
printf("字符串连接后变为:\n");
printf("%s\n",Strcat(a,b));
system("pause");
return 0;
}