strcat -字符串追加
char* strcat(char* destination,const char* source)
1.源字符串必须以'\0'结束
2.目标空间必须足够大 能容纳下源字符串的内容
int main()
{
char arr1[] = "hello";//目标空间不够大
char arr2[] = "world";
strcat(arr1, arr2);
printf("%s\n", arr1);//debug error
}
3.目标空间必须可修改
4.字符串不能自己给自己追加,因为开始追加的时候会覆盖掉原始的'\0'
模拟实现stract
char* my_strcat(char* dest, const char* src)
{
char* ret = dest;
assert(dest != NULL);
assert(src);
//1.找到目的字符串的'\0'
while (*dest!='\0')
{
dest++;
}
//2.追加
while (*dest++ = *src++)
{
;
}
return ret;
}
int main()
{
char arr1[30] = "hello\0xxxxxx";
char arr2[] = "world";
my_strcat(arr1, arr2);
printf("%s\n", arr1);
}