实例35 自定义strcat函数

自定义函数中,字符串的连接实现方法是动态申请一个足够容量的字符串指针,依次读取两个字符串,分别输入结果字符串变量中

#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;
}

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值