char* strcpy(char* destination,const char* source),不能拷贝char arr[]={'a','b','c'}这种情况
以及char* p=“abcd”这种情况不能作为目标空间
*源字符串必须以'\0'结束
*会将源字符串中的'\0'拷贝到目标空间
*目标空间必须足够大,以确保能存放源字符串
*目标空间必须可变
*自己进行模拟实现该函数
char* my_strcpy(char* dest,const char* src)
{
assert(dest != NULL);
assert(src != NULL);
char* ret = dest;
//拷贝src指向的字符串到dest指向的空间,包含'\0'
while (*dest++ = *src++)
{
;
}
//返回目的空间的起始地址
return ret;
}
int main()
{
char arr1[] = "abcdef";
char arr2[] = "bit";
strcpy(arr1, arr2);//将arr2中的'\0'也拷贝过去
my_strcpy(arr1, arr2);
printf("%s", arr1);
return 0;
}