浅谈strcat()实现

strcat 追加拷贝

  1. 被拷贝的字符串要以’\0’结束。

  2. 目标空间足够大,至少要能在原本空间的后面放下被拷贝字符串。

  3. 目标空间必须是可以修改的,否则将无法追加字符串,例如常量区中的字符串是不可被修改的,因此后面不能再追加拷贝。

  4. 函数实现。

     char* my_strcat(char* str, char* sub)
     {
     	assert(str != NULL && sub != NULL);
     	char* ret = str;
     	while (*str != '\0')
     	{
     		str++;
     	}
     	while (*str++ = *sub++);
     	return ret;
     }
    

      assert是在头文件#include <assert.h>中的,主要是断言传进来的字符串不能为空,否则就不存在。第一个while循环用来找到目标空间的字符串尾部,第二个while用来拷贝。

猜你喜欢

转载自blog.csdn.net/weixin_43580319/article/details/112140885