首页 > 其他分享 >模拟实现 srtcat(字符串追加) --浅谈C语言

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

时间:2024-08-04 17:28:55浏览次数:14  
标签:src srtcat 浅谈 dest strcat C语言 char 追加 字符串

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也改变,从而死循环

模拟实现

//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;
}

标签:src,srtcat,浅谈,dest,strcat,C语言,char,追加,字符串
From: https://www.cnblogs.com/DSCL-ing/p/18342008

相关文章

  • C语言--++a,a++的区别
    //前缀形式:int&int::operator++()//这里返回的是一个引用形式,就是说函数返回值也可以作为一个左值使用{//函数本身无参,意味着是在自身空间内增加1的*this+=1;//增加return*this;//取回值}//后缀形式:constintint::operator++(int)//函数返回值是一......
  • 位段 -- 内存布局详解-浅谈C语言
    目录位段位段的介绍位段使用示例:位段的内存分配Example内存分配解析:位段的跨平台问题位段位段的介绍位段(二进制位):就是按位存储位段(bit-field)是C语言中的一种特殊数据类型,它允许将一个字节分成几个部分,并为每个部分指定特定的位数,以便在内存中存储和访问这些部分。其中位......
  • C语言--基本数据类型
    数据类型概述数据类型分类基本数据类型构造数据类型指针类型空类型标识符规范在C语言中,一般标识符用于变量名、宏名、函数名…注意事项:可用数字、英文字母(大小写)、下划线、美元符形如:data、temp、func()、add_int()、xxx_123()数字不能位于开头不能和关键字重复si......
  • c语言·其三
    返回值8位—al16位—ax32位—eax64位—eax(放低位,edx(高位64: 32:1、char(两个字节)类型的返回值  2、short(两个字节)类型的返回值  3、int(八个字节)类型的返回值  参数传递无论是char还是short类型,反汇编中都是以4个字节传递结论:整数类型的参数,一律使用int类型......
  • 代码优化:使用C语言重构单片机汇编启动代码
    目录前言实现思路单片机启动流程汇编语言分析开发环境代码分析总结前言在近期的工作需求中,我需要对实时操作系统(RTOS)的底层代码进行一些必要的调整。为此,我重新深入研究了ARM架构的相关知识点。在这一过程中,我回顾了之前一直让我感到困惑的一个技术问题:在几乎所有的......
  • 15.75.【C语言】表达式求值
    目录一.整型提升1.定义2.一.整型提升1.定义C语言中整型算术运算总是至少以缺省(默认)整型类型的精度来进行的。为了获得这个精度,表达式中的字符和短整型操作数在使用之前被转换为普通整型,这种转换称为整型提升2.整型提升的原因:表达式的整型运算要在CPU的相应运算器件......
  • 关于C语言中素数的求解
    什么是素数?一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做素数。(素数=质数)在C语言中求解素数的几种方法。方法一:直接试数法(从1开始逐一试数)例:求解100到200之间的素数。#include<stdio.h>intmain(){ inti=0; intcount=0; for(i=100;i<=......
  • C语言关于函数的基本介绍
    目录一、前言二、为什么需要函数?三、什么是函数?四、函数的作用及分类。五、函数的基本用法。六、主函数的简单介绍。七、函数原型以及一些常用的系统函数的介绍。一、前言    这些都是作者学习C语言过程中了解到的只是,有的地方可能不是写的特别清楚,同时这也是......
  • 【C语言】C语言期末突击/考研--函数
    目录一、函数的声明与定义-嵌套调用1.1.函数的声明与定义1.2.函数的分类与调用二、函数的递归调用三、局部变量与全局变量3.1.全局变量解析形参实参解析3.2.局部变量与全局变量四、练习题及解析一、函数的声明与定义-嵌套调用1.1.函数的声明与定义    函数间......
  • 【C语言】字符函数和字符串函数详解
    ......