strcat 追加拷贝
-
被拷贝的字符串要以’\0’结束。
-
目标空间足够大,至少要能在原本空间的后面放下被拷贝字符串。
-
目标空间必须是可以修改的,否则将无法追加字符串,例如常量区中的字符串是不可被修改的,因此后面不能再追加拷贝。
-
函数实现。
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用来拷贝。