#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;
}
c语言自写strcpy函数
最新推荐文章于 2024-07-29 05:15:00 发布