首先明确strcat是字符拼接函数,所以在实现时依然先判断字符串是否为空(用assert)。设置两个字符串dst和src,strcat要将src拼接至dst后面,所以dst的空间要足够容纳src。又因为src被拷贝是不允许被改变,所以用const锁起来。拼接思想为先设置一个字符串为ret,让ret先等于dst,之后dst++移到dst的'/0'的位置将src再拷贝至ret(dst)后面即实现字符串拷贝。代码如下:
char *my_strcat(char *dst, const char *src)
{
char *ret = *dst;
assert(dst != NULL);
assert(src != NULL);
while (*dst)
{
dst++;
}
while (*dst++ = *src++)
{
;
}
return ret;
}