原型

       extern char *strcat(char *dest,char *src);

用法

       #include <string.h>

       在C++中,则存在于<cstring>头文件中。

功能

     把src所指字符串添加到dest结尾处(覆盖dest结尾处的'\0')。


说明

      src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。

返回指向dest的指针

程序代码:

#include<stdio.h>

#include<assert.h>

char *my_strcat(char *dst, const char *src)

{

       assert(dst);

       assert(src);

        char *cp = dst;

        while (*cp)

       {

              cp++;

       }

        while (*cp++ = *src++);

        return dst;

}

int main()

{

        char p[] = "abcd" ;

        char q[] = "efg" ;

        char *ret = my_strcat(p, q);

       printf( "%s\n", ret);

       system( "pause");

        return 0;

}

1、const修饰

源字符串参数用const修饰,防止修改源字符串。

2、空指针检查

(A)不检查指针的有效性,说明你不注重代码的健壮性。

(B)检查指针的有效性时使用assert(dst && src)。

希望能帮助大家,谢谢!