已知strcpy原型是:
char *strcpy(char *dst,char *src);
程序代码:
#include<stdio.h>
#include<assert.h>
char *my_strcpy(char *dst, const char *srt)
{
assert(dst);
assert(srt);
char *cp = dst;
while (*cp++ = *srt++);
return dst;
}
int main()
{
char str[10] ;
char arr[] = "abcd" ;
char *ret = my_strcpy(str, arr);
printf( "%s\n", ret);
system( "pause");
return 0;
}
1、const修饰
源字符串参数用const修饰,防止修改源字符串。
2、空指针检查
(A)不检查指针的有效性,说明你不注重代码的健壮性。
(B)检查指针的有效性时使用assert(dst && src)。
希望能帮助大家,谢谢!