C++ 实现strcpy
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; }