strcpy库函数的原型:
// 把src字符串拷贝到dest,并返回dest
char *strcpy(char *dest, const char *src)
注意点:
1、形参src用const修饰,防止函数内部修改源字符串。
2、返回char*用于链式表达式,例如strlen(strcpy)。
3、不使用其他库函数,例如strlen。
4、形参判空,代码健壮性。
5、使用assert,尽可能在开发阶段发现问题。
6、如果dest == src,直接返回,省掉遍历赋值的代价。
7、结束符'\0'不能漏掉。
char *myStrcpy(char *dest, const char *src) {
assert(dest != NULL && src != NULL);
if (dest == NULL || src == NULL) {
return NULL;
}
if (dest == src) {
return dest;
}
int i = 0;
while (src[i] != '\0') {
dest[i] = src[i];
i++;
}
dest[i] = '\0';
return dest;
}