模拟实现 strcat(字符串追加) --浅谈C语言

cnblogs 2024-08-05 15:09:00 阅读 94

strcat

描述

char *strcat(char *dest, const char *src) 把 src 所指向的字符串追加到 dest 所指向的字符串的结尾。

声明

下面是 strcat() 函数的声明。

char *strcat(char *dest, const char *src)

参数

dest -- 指向目标数组,该数组包含了一个 C 字符串,且足够容纳追加后的字符串。

src -- 指向要追加的字符串,该字符串不会覆盖目标字符串。

返回值

该函数返回一个指向最终的目标字符串 dest 的指针。

注意事项:

对于strcat(追加)函数,不能自己追加自己,因为写入后会覆盖掉arr1本身的\0,后面arr2也改变,从而死循环

模拟实现

<code>//my_strcat

#include<stdio.h>

#include<assert.h>

char* my_strcat(char*dest, const char*source)

{

//ret存dest指针

char*ret = dest;

assert(dest&&source);

//走到'\0'这里

while (*dest)

{

dest++;

}

//开始追加,直到最后一个位为'\0',结束循环

while (*dest++ = *source++) //strcpy

;

return ret;

}

int main() // my_strcat

{

char arr1[30] = { 'a', 'b', 'c', 'd', '\0' };

char arr2[] = "bit";

printf("%s", my_strcat(arr1, arr2));

return 0;

}



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。