【C语言】字符串函数strcat即自主实现

2023-05-16

目录

一、strcat函数

二、自主实现strcat


一、strcat函数

        1、功能:连接字符串。将源字符串的副本追加到目标字符串。目标中的终止空字符被源的第一个字符覆盖,并在目标中两者的连接形成的新字符串的末尾包含一个空字符。目标字符串和源字符串不得重叠。

        2、定义:

        char * strcat ( char * destination, const char * source );

        3、参数:

        参数1:char *destination目标字符串

        参数2:const char *source源字符串,不能和目标字符串相同,如需相同追加用strncat函数

        4、返回值:

        被追加后的目标字符串

        5、eg

#include <stdio.h>
#include <string.h>

int main()
{
	char str1[20] = "abcdef";
	char str2[10] = "ghjmn";
	strcat(str1, str2);//将str2字符串追加到str1
	printf("%s\n", str1);
	return 0;
}

二、自主实现strcat

#include <stdio.h>

char* my_strcat(char* str1, const char* str2)
{
	char *ret = str1;
	while(*str1 != '\0')
	{
		str1++;
	}
	while(*str1++ = *str2++)
	{
		;
	}
	*str1 = '\0';
	return ret;
}
int main()
{
	char str1[20] = "abcdef";
	char str2[10] = "ghjmn";
	printf("%s\n",my_strcat(str1,str2));
	return 0;
}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【C语言】字符串函数strcat即自主实现 的相关文章

  • 在ubuntu18.04中安装opencv_contrib-3.2.0闭坑记录

    由于最近要在OpenCV3中使用SIFT和SURF特征提取 xff0c 而自从OpenCV2升级到OpenCV3版本后 xff0c SIFT SURF等这些算法都被移出opencv默认项目库 xff0c 而被放到叫opencv contri
  • 在ROS中使用超声波(sonar)导航避障

    1 下载sonar layer的代码 https github com DLu navigation layers 实际只需要其中的range sensor layer放到工作空间catkin make 实验时放置于src中 xff0c 可
  • rtabmap更加适合视觉SLAM建图和导航

    slam问题目前主要集中在如何建立一个好的地图 xff0c 至于后续如何使用地图这部分工作研究的不多 xff0c 不过我个人恰好在做这部分工作所以答一下个人见解 首先 xff0c 有一张好的地图 xff0c 是导航或地图语义分析等应用的前提
  • Git应用详解第十讲:Git子库:submodule与subtree

    https www cnblogs com AhuntSun blog p 12736934 html 前言 前情提要 xff1a Git应用详解第九讲 xff1a Git cherry pick与Git rebase 一个中大型项目往往会
  • 单片机串口通信程序

    本文总结了两种比较简单的关于串口发送接收的程序 xff0c 以下是步骤 xff1a 定义数据 xff1a unsigned char idata URX 10 61 0 串口接收数组 unsigned char idata URX Num
  • Linux当中的压栈和出栈指令以及跳转指令详细教程

    1 跳压栈出栈指令 xff1a 我们通常会在 A 函数中调用 B 函数 xff0c 当 B 函数执行完以后再回到 A 函数继续执行 要想 再跳回 A 函数以后代码能够接着正常运行 xff0c 那就必须在跳到 B 函数之前将当前处理器状态保存
  • MySQL5.7版本在Ubuntu(WSL环境)系统安装

    课程中配置的WSL环境是最新的Ubuntu22 04版本 xff0c 这个版本的软件商店内置的MySQL是8 0版本 所以我们需要额外的步骤才可以安装5 7版本的MySQL 安装操作需root权限 xff0c 你可以 xff1a 通过 su
  • 动态库静态库的区别

    1 制作过程 静态库 xff1a 生成 o文件后 ar rcs o libxxx a 动态库 xff1a 生成 o文件时 xff0c 静态库是 c选项 xff0c 而动态库是 fpic FPIC xff0c 因为动态库需要生成与位置无关的代
  • 怎么把PWM信号转为模拟量

    有一个测量位置变化的位置传感器 xff0c 用万用表电压档测量传感器的输出信号 xff0c 结果显示的是模拟量信号 xff0c 即位置和信号输出大小呈线性关系 但是 xff0c 用示波器 xff08 Picoscope 4227 xff09
  • STM32环形串口队列程序 大数据串口收发 实时不丢包 串口程序平常产品开发中编写或移植的程序并亲自测试通过,均为工程文件格式,可直接编译使用

    STM32环形串口队列程序 大数据串口收发 实时不丢包 串口程序平常产品开发中编写或移植的程序并亲自测试通过 xff0c 均为工程文件格式 xff0c 可直接编译使用 该程序为大数据量吞吐的串口收发例程 xff0c 中断接收 xff0c 边
  • C语言中的函数返回值、return用法、return 0详解

    1 函数返回值 定义 xff1a 函数的返回值是指函数被调用之后 xff0c 执行函数体中的代码所得到的结果 xff0c 这个结果通过return语句返回 没有返回值的函数为空类型 xff0c 用void表示 一旦函数的返回值类型被定义为
  • TCP协议

    TCP xff08 Transmission Control Protocol xff09 是面向连接的可靠的通讯协议 TCP需要经过三次握手建立连接 xff0c 并在断开时通过四次挥手释放连接 TCP通过应答确认 超时重传 xff08 R
  • UART&RS232&RS485的区别

    UART RS232 RS485在串口通信中 xff0c 主要区别是电平的不同 xff0c 其中UART通常使用TTL电平 TTL TTL全名是晶体管 晶体管逻辑集成电路 Transistor Transistor Logic 输入高电平最
  • 思岚雷达rplidar S1配置调试全纪录

    耗时10天 xff0c 终于从零开始用QT在Ubuntu系统下完成了一个雷达避障系统的设计 xff0c 这文章的主要目的是将配置的流程和遇到的问题记录下来 xff0c 以供自己以后遇到一样的问题时可以有个参考 一 思岚雷达的配置 1 配置的
  • 学习 C++ 到底有什么好处?

    学C 43 43 本身是教不会你编程的 你需要主动的 不断的扩展自己的知识领域 写一个学生管理系统是一个很好的开端 xff1b 但接下来 xff0c 你还需要学习更多 举例来说 xff0c 图形界面 究竟是怎么一回事呢 xff1f 我们知道
  • c++中的二分查找算法

    二分查找普通模式 模板公式 xff1a while l lt 61 r mid 61 l 43 r 2 l 61 mid 43 1 else r 61 mid 1 二分查找特殊情况1 xff1a 000011111求第一个1 while l
  • liunx使用math.h头文件报错解决办法

    在liunx操作系统中 xff0c 编译的时候用到了math h或cmath头文件时 xff0c 一定要主动连接静态库 比如在vim中 xff0c 给编译的文件名后加 lm 否则会报错误
  • 基于AlexNet卷积神经网络的手写体数字倾斜校正系统研究-附Matlab代码

    目 录 一 引言 二 AlexNet 网络 三 实验验证 3 1 实验数据集 3 2 数据训练 3 3 手写体倾斜数字校正结果 四 参考文献 五 Matlab代码获取 一 引言 手写体数字识别是光学字符识别 Optical Characte
  • Jetson Nano 4GB 要怎么供电? Jetson Nano 2GB呢?

    Jetson Nano 4GB 常使用的电源连接方式有两种 xff1a 1 DC Power Jack 5 5 2 1mm 5V 4A xff0c 需使用跳帽将脚位 J48 短路 图一红框处 xff0c 电源连接方式请参照图一蓝框处 若一切
  • 毕业设计 基于单片机的导盲拐杖设计(源码+硬件+论文)

    文章目录 0 前言1 主要功能2 硬件设计 原理图 3 核心软件设计4 实现效果5 最后 0 前言 x1f525 这两年开始毕业设计和毕业答辩的要求和难度不断提升 xff0c 传统的毕设题目缺少创新和亮点 xff0c 往往达不到毕业答辩的要

随机推荐

  • 毕业设计 基于stm32与openmv的目标跟踪系统

    文章目录 0 前言课题简介设计框架3 硬件设计4 软件设计 对被测物体的识别 判断被测物体所在区域 5 最后 0 前言 x1f525 这两年开始毕业设计和毕业答辩的要求和难度不断提升 xff0c 传统的毕设题目缺少创新和亮点 xff0c 往
  • Qt中的TCP通信

    一 TCP的特点 TCP xff08 传输控制协议 xff09 是一种面向连接的 xff0c 可靠的 xff0c 基于字节流的传输层通信协议 二 TCP适合应用的场景 TCP协议适用于要求可靠传输的应用 xff0c 例如文件传输 xff0c
  • SQL常用语句大全

    我们在进行开发工作时 xff0c 对数据库的操作是必不可少的 xff0c 熟练掌握SQL语句可以让我们对数据库的数据处理变得非常简单 xff0c 所以学习SQL语句是非常有必要的 xff0c 下面汇总了一些常用的SQL语句 SQL语句的类型
  • VS配置Qt环境

    前言 Qt程序的开发不仅可以使用原生的Qt Creator xff0c 也可以使用Visual Studio 想使用VS进行Qt程序的开发 xff0c 需要安装Qt的插件 xff0c 下面看详细步骤 下载Qt的插件 地址 xff1a htt
  • STM32官方标准固件库开发与寄存器开发的区别

    一句话概括关系 xff1a 固件库就是函数的集合 xff0c 固件库函数的作用就是 xff1a 向下负责与寄存器直接打交道 xff0c 向上提供用户函数调用的接口 xff08 API xff09 对于STM32这种级别的MCU xff0c
  • CMake获取目录下所有源文件

    1 aux source directory指令 aux source directory lt dir gt lt variable gt 比如 xff1a aux source directory CMAKE CURRENT SOURC
  • Qt制作视频播放器

    前言 该播放器参考了SMPlayer xff0c 实现了其基础功能 xff0c 许多高级功能暂未实现 软件的实现基于Qt xff0c opencv xff0c 多线程以及数据库等相关知识 功能概述 支持本地音视频在线播放 xff0c url
  • Qt中QString与String的互相转换

    前言 Qt中的一些类型是Qt自己封装的 xff0c 例如我们平常常见的String在Qt中就是QString xff0c 但是有时我们调用第三方库时 xff0c 参数要求是String xff0c 这时我们就需要把QString转换成Str
  • Mat与QImage互相转换

    前言 Mat是opencv中的存储图像的容器 xff0c 也是图像像素矩阵 QImage是Qt中存储图片常用的类 Qt和opencv经常配合在一起使用 xff0c 但Qt的函数方法的参数是不接受Mat的 xff0c 所以如果我们想要在Qt中
  • CentOS7下安装libevent

    前言 CentOS7下安装libevent网络库 步骤 创建一个文件夹libevent xff08 方便后期维护管理 xff09 mkdir libevent 官网下载源码包 可以在本机下载然后文件传输 xff0c 也可以直接在linux下
  • Libevent源码深度剖析-张亮(转载)

    https blog csdn net xp178171640 article details 105490027
  • Qt6.4.3编译MySQL驱动

    前段时间电脑坏了重装了操作系统 软件都不能正常运行 大部分都得重装 本来用的Qt5 14 2 想着Qt都出6了 那就用用Qt6吧 Qt6想用mysql数据库也是得自己编译驱动的 但Qt6也是想推广CMake 所以我以前Qt5那一套编译mys
  • keil5中如何在一个项目中新建源文件

    哈喽哈喽 xff0c 昨天在学习如何点灯的时候接触到可以在一个已经建立好的项目中 xff0c 建立一个新的源文件写一个新的代码 这里就总结一下 点开file选择new xff0c 就会发现右边多个栏就说明源文件多了一个 xff0c 这个时候
  • 【Python数据分析】Python模拟登录(一) requests.Session应用

    最近由于某些原因 xff0c 需要用到Python模拟登录网站 xff0c 但是以前对这块并不了解 xff0c 而且目标网站的登录方法较为复杂 xff0c 所以一下卡在这里了 xff0c 于是我决定从简单的模拟开始 xff0c 逐渐深入地研
  • 【VSCode】C++环境配置(小白必看)

    关于VSCode的c 43 43 环境配置 网上教程很多 xff0c 但大多是入门的新手小白难以理解 xff0c 操作不来的 xff0c 作者本人也是捣鼓了很久才配置好c 43 43 运行环境 本篇文章会从头到尾简述 一下vscode配置c
  • at89c51单片机设计的智能空调系统 制冷制热加湿除湿四个工作模式 按键和手机App遥控两种控制方式

    at89c51单片机设计的智能空调系统 制冷制热加湿除湿四个工作模式 按键和手机App遥控两种控制方式 半导体制冷片模拟除湿制冷 超声波雾化模块加湿 温湿度传感器检查环境温湿度 LCD液晶屏显示系统工作状态 全套包括实物成品 xff0c 原
  • Java常用类 - String类详解

    Java常用类 String类 创建字符串 xff1a 每个双引号括起来的字符串常量都是String类的一个实例 xff1b 也可以new 连接字符串 xff1a 43 xff1b string1 concat string2 span c
  • 如何利用#将宏定义中的参数插入到字符串中?

    首先明白几个原理 xff1a 在宏定义中 xff0c 如果宏参数为字符串 xff0c 可以把这个字符串放到字符串中 xff0c 但如果宏参数为变量的话就不可以 可以把宏定义中的参数转化为相应的字符串 xff0c 这时就可以把这个参数放到字符
  • ssmJavaEE无人机数据管理系统 毕业设计源码111022

    ssm无人机数据管理系统 摘 要 随着互联网趋势的到来 xff0c 各行各业都在考虑利用互联网将自己推广出去 xff0c 最好方式就是建立自己的互联网系统 xff0c 并对其进行维护和管理 在现实运用中 xff0c 应用软件的工作规则和开发
  • 【C语言】字符串函数strcat即自主实现

    目录 一 strcat函数 二 自主实现strcat 一 strcat函数 1 功能 xff1a 连接字符串 将源字符串的副本追加到目标字符串 目标中的终止空字符被源的第一个字符覆盖 xff0c 并在目标中两者的连接形成的新字符串的末尾包含