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

打印 上一主题 下一主题

主题 850|帖子 850|积分 2550

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<assert.h>
  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. }
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

渣渣兔

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表