意思是:strcpy是copy string(复制字符串)参数是两个指针,一个指向所复制的字符串(source),一个指向需要复制到地方(destination)
我们可以利用它来拷贝我们所需要的字符串到指定的地方去,但目的地也是一个字符串数组来存储。
知道了他的用法后,下面我们来用我们自己的思想来模拟实现它。基本的方法是用两个指针分别遍历两个字符串并进行赋值,注意这里还有加一个附加条件,就是判断两个指针所指向的地方是否为空(利用assert判断)。
char* my_strcpy(char* str2, const char* str1)
{
char* ret = str2;
assert(str2 != NULL);
assert(str1 != NULL);
while ((*str2++ = *str1++))
{
;
}
return ret;
}
int main()
{
char str1[] = "abcdef";
char str2[20] = "XXXXXXXXXXX";
char* ret=my_strcpy(str2, str1);
printf("%s", ret);
return 0;
}