strcat函数

目录

函数介绍:

函数声明:

具体使用:

 注意事项:

字符串⾃⼰给⾃⼰追加,如何?

模拟实现strcat函数:


函数介绍:

被称为字符串的追加/链接函数,它的功能就是在一个字符串后面追加上另外一个字符串。

函数声明:

char *strcat(char *_Destination, const char *_Source)

具体使用:

#include <stdio.h>
#include <string.h>
int main()
{char arr1[30] = "hello";char arr2[] = "world";strcat(arr1, arr2);printf("%s\n", arr1);//追加字符串return 0;
}

 输出结果:

 

 注意事项:

  • 源字符串必须以 '\0' 结束。
  • ⽬标字符串中也得有 \0 ,否则没办法知道追加从哪⾥开始。
  • ⽬标空间必须有⾜够的⼤,能容纳下源字符串的内容。
  • ⽬标空间必须可修改。

和strcpy的原因一样,详细: http://t.csdn.cn/JW6kh

字符串⾃⼰给⾃⼰追加,如何?

int main()
{char arr1[30] = "hello";strcat(arr1, arr1);printf("%s\n", arr1);return 0;
}

答案是不行的! 

strcat的本质:

  • strcat在追加的时候会对目标字符串的\0进行覆盖,且追加的原理是把追加的字符串的字符一个一个挪到追加的空间中。
  • 所以自己追加自己本质上是把自己的字符进行移动,但是这个移动的过程会覆盖掉原先的\0所以出错。

模拟实现strcat函数:

char* my_strcat(char* dest, const char* str)
{char* ret = dest;assert(*dest != NULL);assert(*str);//找到目的字符串里的'\0'while (*dest != '\0'){dest++;}//追加while (*dest++ = *str++){;}return ret;
}

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/1618429.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

【LeetCode-中等题】19. 删除链表的倒数第 N 个结点

文章目录 题目方法一&#xff1a;节点加入集合找索引方法二&#xff1a;直接计算长度,然后找出要删除的节点的前一个节点方法三&#xff1a;栈方法四&#xff1a;前后双指针 题目 这题的关键在与两个点 一定要设置一个哑结点&#xff0c;防止删除第一个元素时&#xff0c;导致空…

技能按钮CD效果

废话不多说&#xff0c;直接上代码&#xff01; using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI;public class Skill : MonoBehaviour//技能 {Button but;//技能按钮 Button组件Image img;//CD遮罩图片…

雷电模拟器9.0.56安装Magisk+LSPosd

雷电模拟器9.0.56安装MagiskLSPosd 一.准备软件1.MagiskLSPosd 我会放在文档资源那给你买下载2.雷电模拟器可以直接官网下载&#xff08;我这里最新9.0.56版本&#xff09;[https://www.ldmnq.com/](https://www.ldmnq.com/) 二.开始安装1. 先配置好模拟器2.安装软件3.配置 Mag…

挖数据四周年庆典,壕礼不断,惊喜不停!

挖数据四周岁啦&#xff01;为了感谢广大用户们一路以来的支持与陪伴&#xff0c;我们特地准备了丰富的优惠活动&#xff0c;希望能够用最实际的行动来回馈您们的厚爱。四年的成长与蜕变&#xff0c;都是因为有您们的陪伴与鼓励&#xff0c;我们期待与您们一同分享这份喜悦与成…

当面临在职备考不确定性的结果时,你可能需要闭着眼冲一下

提前批面试在某种程度上像是联考分流幕后的那只无形之手&#xff0c;既助长了拿到优秀资格考生的备考热情&#xff0c;又打击了提面落榜考生的笔试自信心。就在这样的局面下&#xff0c;使得项目最终完成了联考前的分流操作。但如果你还是遵从自己的本心的话&#xff0c;就应该…

电脑编程自学(零基础自学编程怎么入门)

电脑编程自学入手:确定编程学习的方向。编程语言有多种:php,C++,C,C#,JAVA,Python等,每种语言都有不同的优缺点,可以根据自己的兴趣方向选择一门编程语言作为自己的学习目标。 基础阶段的语法学习。学习任何一门编程语言,都需要掌握其编程的语法规则,可以通过阅读一…

git入门教程

git入门教程 一、工作流程二、获取本地仓库三、Git常用指令1、查看文件状态2、查看提交日志3、版本回退4、添加文件至忽略列表 三、分支1、查看本地分支2、创建分支3、切换分支4、合并分支5、删除分支6、解决冲突 四、Git远程仓库1、常用的托管服务[远程仓库]2、注册码云3、创建…

gcc/linux下的c++异常实现

概述 本文不一定具有很好的说教性&#xff0c;仅作为自我学习的笔记。不妨可参阅国外大神博文C exceptions under the hood链接中包含了大量的例子。 偶有在对ELF做分析的时候看到如下图一些注释&#xff0c;部分关键字看不懂&#xff0c;比如什么FDE, unwind , __gxx_perso…

万字长文解析AQS抽象同步器核心原理(深入阅读AQS源码)

AQS抽象同步器核心原理 在争用激烈的场景下使用基于CAS自旋实现的轻量级锁有两个大的问题&#xff1a; CAS恶性空自旋会浪费大量的CPU资源。在SMP架构的CPU上会导致“总线风暴”。 解决CAS恶性空自旋的有效方式之一是以空间换时间&#xff0c;较为常见的方案有两种&#xff…

哔哩哔哩 B站 bilibili 视频倍速设置 视频倍速可自定义

目录 一、复制如下代码 二、在B站视频播放页面进入控制台 三、将复制的代码粘贴到下方输入框&#xff0c;并 回车Enter 即可 四、然后就可以了 一、复制如下代码 &#xff08;该代码用于设置倍速为3&#xff0c;最后的数值是多少就是多少倍速&#xff0c;可以带小数点&#…

Kafka为什么这么快?

Kafka 是一个基于发布-订阅模式的消息系统&#xff0c;它可以在多个生产者和消费者之间传递大量的数据。Kafka 的一个显著特点是它的高吞吐率&#xff0c;即每秒可以处理百万级别的消息。那么 Kafka 是如何实现这样高得性能呢&#xff1f;本文将从七个方面来分析 Kafka 的速度优…

PCI控制器扫描PCI总线过程解析

1、PCI的三种地址空间介绍 地址空间描述命令说明I/O空间供给设备驱动程序使用I/O操作命令对设备对应的I/O地址空间进行访问&#xff0c;此类访问不可预取存储空间供给设备驱动程序使用memory操作命令对设备的Memory空间进行访问&#xff0c;其中Memory操作命令又可分为Prefech…

从PC传输文件到ipad

首先从PC上进入iTunes。剩下步骤如图所示。

【iPhone和iPad设备管理和文件传输工具】iMazing 2.9.9 for Mac

文章来源于&#xff1a;风云社区 iMazing 2.9.9 for Mac iMazing- 管理你的iPhone。获取可信赖的软件来传输和保存您的音乐&#xff0c;消息&#xff0c;文件和数据。安全备份任何iPhone&#xff0c;iPad或iPod touch。iMazing功能强大且用户友好&#xff0c;是Mac和PC的最佳…

ipad如何投屏到xbmc_询问操作技巧:在iPad上设置文件传输拖放区,XBMC,并使用控制台模拟器享受复古游戏...

ipad如何投屏到xbmc Once a week we round up some of the reader questions we’ve answered and share them with everyone; this week we’re taking a look at setting up file transfer drop zones, installing XBMC on the iPad, and setting up a console emulator. 每周…

iOS系统与Windows电脑如何做到无线传输文件?

iOS系统与Windows电脑传输文件&#xff0c;大多数人可能会选择使用微信或QQ的 “文件传输助手”&#xff0c;今天我教大家一种一分钟设置&#xff0c;便可永久传输的简单方法。快点赞收藏起来吧&#xff01;&#xff01; &#xff08;此处用iPad 第8代 2020为例子&#xff09;…

Nginx详解 第三部分:Nginx高级配置(附配置实例)

Part 3 一、网页的状态页二、Nginx第三方模块2.1 echo 模块 三、变量3.1 内置变量3.1.1 常用内置变量3.1.2 举个例子 3.2 自定义变量 四、自定义访问日志 (优化)4.1 自定义访问日志的格式4.2 自定义json 格式日志 五、Nginx压缩功能&#xff08;重要&#xff09;六、HTTPS 功能…

Java“牵手”天猫商品历史价格信息API接口数据,天猫API接口申请指南

天猫平台商品历史价格接口是开放平台提供的一种API接口&#xff0c;通过调用API接口&#xff0c;开发者可以获取天猫商品的标题、价格、库存、月销量、总销量、库存、详情描述、图片、最低价、当前价格、价格信息等详细信息 。 获取商品历史价格接口API是一种用于获取电商平台…

美国慌了,满世界找稀土替代却找不到,最终还是得求中国

中国先后对稀土、镓、锗等稀有金属材料的出口采取限制措施&#xff0c;美国一开始并不慌&#xff0c;毕竟全球还有美国自己、澳大利亚、蒙古等国家拥有稀土矿藏&#xff0c;因此美国以为可以迅速找到替代&#xff0c;然而如今却发现事情并不简单。 中国占有的稀土矿藏确实不算最…

家用计算机音效部件图示,唱吧新版自定义音效设置方法(附上最佳音效设置参数图)...

新版唱吧发布后&#xff0c;觉得唱吧设计的音效越来越专业 真的很爱这个版本 愿研发GG们继续研发更多更牛的音效&#xff01;我们这些唱粉也跟着一起进步。 除了界面大改版之外&#xff0c;录音功能也有大的改进喔&#xff01; 一眼望去&#xff0c;以前的音效又增加了若干固定…