strcpy函数:
char * strcpy ( char * destination , const char * sourse ) ;
返回值为char * 类型,将char * 类型的souse拷贝到char * 类型的destination。
这篇博客将通过代码来介绍,如何模拟实现strcpy函数。
#include <stdio.h>
#include <assert.h>
char* my_strcpy(char* str1, const char* str2)
{
assert(str1 && str2); //断言str1和str2均不为空
char* p = str1; //取到str1的地址,以便返回
while (*str1++ = *str2++) //将*str2赋给*str1并且++
{
;
}
return p;
}
int main()
{
char arr1[] = "xxxxxxxx"; //定义两个字符串
char arr2[] = "abcde";
my_strcpy(arr1, arr2); //传参
printf("%s\n", arr1);
printf("%s\n", arr2);
return 0;
}
结果是将arr2数组的内容完全赋给arr1数组,实现字符串拷贝,与strcpy函数效果相同。