c语言自写strcpy函数

#include <stdio.h>
#include <stdlib.h>
#include <assert.h>
//实现字符串拷贝
char * mystrcpy(char *dest,const char *src)
{
	//判断两个数组是不是为空,如果空间不存在,赋值有危险
	assert((dest != NULL)&&(src != NULL));
	char *address = dest;
    //做循环,拷贝,两种方式
    //1.传长度,for循环len-->0;
    //2.直接判断src不为空就一直拷贝
    while(*src != 0)
    {
		*address++ = *src++;
    }
    //把最后的斜杠0也拷贝上
    *address = *src;
    //1.返回地址方便链式操作
    return address;
}
int main()
{
	//1.初始化原字符串
	char *src="hello,world";
    //2.算src大小;
    int len = strlen(src);
    //3.定义一个新字符串,目标字符串
    char *dest = NULL;
    //4.给新字符串开辟空间,细节加1,放\0
	dest = (char *)malloc(len+1);
    //5.调用函数mystrcpy;
    mystrcpy(dest,src);
    //打印目标字符串
    printf("%s",dest);
    
	system("pause");
	return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值