第一次尝试
#include<stdio.h>
#include<stdlib.h>
char* myStrcpy(char* str1, const char* str2) {
if (str1 == NULL || str2 == NULL) {
return NULL;
}
char* str = str1;
while (*str2 != '\0') {
*str1 = *str2;
str1++;
str2++;
}
*str1 = '\0';
return str;
}
int main() {
char name1[1024] = "mabaoguodashihahaha";
char name2[] = "mabaoguogoushi123456789";
printf("%s\n", name1);
printf("%s\n", myStrcpy(name1, name2));
return 0;
}
模拟实现了strcpy
的功能,很简单,不过需要注意两点:
- 在改变目标参数的内容的时候,一定要提前分配好足够的空间,保证代码的健壮性;
- 在调用函数的时候一定要检验参数的合法性,这很重要。