找回密码
 立即注册
首页 资源区 代码 模拟实现 strcat(字符串追加) --浅谈C语言 ...

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

游康 3 天前
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也改变,从而死循环
模拟实现
  1. //my_strcat
  2. #include<stdio.h>
  3. #include
  4. char* my_strcat(char*dest, const char*source)
  5. {
  6.     //ret存dest指针
  7.     char*ret = dest;
  8.     assert(dest&&source);
  9.     //走到'\0'这里
  10.     while (*dest)
  11.     {
  12.         dest++;
  13.     }
  14.     //开始追加,直到最后一个位为'\0',结束循环
  15.     while (*dest++ = *source++)  //strcpy
  16.         ;
  17.     return ret;
  18. }
  19. int main()  //  my_strcat
  20. {
  21.     char arr1[30] = { 'a', 'b', 'c', 'd', '\0' };
  22.     char arr2[] = "bit";
  23.     printf("%s", my_strcat(arr1, arr2));
  24.     return 0;
  25. }
复制代码
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
您需要登录后才可以回帖 登录 | 立即注册