目录
前言:
strcpy用于拷贝字符串。
char * strcpy ( char * destination, const char * source );
在库函数中,这个函数有两个参数,第一个参数为目标空间,第二个为源空间,要将源空间中的字符串拷贝到目标空间里。函数返回类型为目标空间的首元素地址。
思路:
1 创建字符串
这里,我们要把arr拷贝到str中,传参的时候,要把目标地址放在前面。
char arr[10] = {"apple"};
char str[10] = {"orange"};
char* ret = my_strcpy(str, arr);
2 逐个拷贝字符
3 返回地址
注意一下,我们在最后才返回地址,此时的*dest指向的是\0,那要怎么返回首元素地址呢?
在参数刚传过来的时候,我们用指针char* ret接收一下,最后再返回ret。就搞定了!
代码实现:
//模拟实现strcpy
char* my_strcpy(char* dest, const char* src)
{
//1 创建字符串
assert(dest && src);
char* ret = dest;
//2 逐个传递元素
while (*src)
{
*dest = *src;
dest++;
src++;
}
*dest = *src;
//3 返回地址
return ret;
}
int main()
{
char arr[10] = {"apple"};
char str[10] = {"orange"};
char* ret = my_strcpy(str, arr);
printf("%s\n", ret);
return 0;
}