已知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)。

希望能帮助大家,谢谢!