C58-字符串拼接函数strcat

article/2025/8/27 18:56:05

C语言 strcat 函数简明总结

功能

src 字符串拼接到 dest 字符串末尾(覆盖 dest\0,并在新末尾补 \0)。

原型
char *strcat(char *dest, const char *src);
要点
  1. 目标空间必须足够大,否则导致缓冲区溢出(未定义行为)。
  2. 不检查长度,安全替代:strncat(可指定最大拼接长度)。
  3. 返回 dest 指针,便于链式调用。
示例
  • 代码示例:
#include <stdio.h>
#include <string.h>
int main()
{char dest[20] = "Hello";strcat(dest, " world!"); // dest 变为 "Hello world!"printf("%s\n",dest);return 0;
}
  • 成果展示:

image-20250531215132992

注意
  • destsrcNULL,程序崩溃。
  • 避免内存重叠(未定义行为)。

手搓一个strcat函数

  • 代码示例:
#include <stdio.h>
#include <string.h>
#include <assert.h>char *MyStrcat(char *dest,char *source)
{assert(dest!=NULL&&source!=NULL);char *back=dest;while(*dest!='\0'){dest++;}while((*dest++=*source++)!=0);*dest='\0';return back;
}int main()
{char dest[20] = "Hello";char *p=" world!";MyStrcat(dest,p);printf("%s\n",dest);return 0;
}
  • 成果展示:
    image-20250531220432607

http://www.hkcw.cn/article/UJkCYdUeuC.shtml

相关文章

G25-05-31Rust开源项目日报 Top10

根据Github Trendings的统计,今日(2025-05-31统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Rust项目10TypeScript项目1Pake: 利用 Rust 轻松构建轻量级多端桌面应用 创建周期:491 天开发语言:Rust协议类型:MIT LicenseStar数量:2095…

火语言UI组件--JSON

【组件功能】&#xff1a;格式化显示json数据。 样式预览 设置 基础设置 属性名称属性释义输入值类型主题样式(theme)设置主题样式(默认 / 暗黑)字符串类型&#xff0c;可选值&#xff08;dark / light &#xff09; 样式设置 属性名称属性释义输入值类型字体大小(fontSize…

Redis 持久化机制详解:RDB 与 AOF 的原理、优缺点与最佳实践

目录 前言1. Redis 持久化机制概述2. RDB 持久化机制详解2.1 RDB 的工作原理2.2 RDB 的优点2.3 RDB 的缺点 3. AOF 持久化机制详解3.1 AOF 的工作原理3.2 AOF 的优点3.3 AOF 的缺点 4. RDB 与 AOF 的对比分析5. 持久化机制的组合使用与最佳实践6. 结语 前言 Redis 作为一款高性…

设计模式——抽象工厂设计模式(创建型)

摘要 抽象工厂设计模式是一种创建型设计模式&#xff0c;旨在提供一个接口&#xff0c;用于创建一系列相关或依赖的对象&#xff0c;无需指定具体类。它通过抽象工厂、具体工厂、抽象产品和具体产品等组件构建&#xff0c;相比工厂方法模式&#xff0c;能创建一个产品族。该模…

建造者模式:优雅构建复杂对象

引言 在软件开发中&#xff0c;有时我们需要创建一个由多个部分组成的复杂对象&#xff0c;这些部分可能有不同的变体或配置。如果直接在一个构造函数中设置所有参数&#xff0c;代码会变得难以阅读和维护。当对象构建过程复杂&#xff0c;且需要多个步骤时&#xff0c;我们可…

JWT 原理与设计上的缺陷及利用

JWT 原理与设计上的缺陷及利用 基本概念 JSON Web Token (JWT)是一个开放标准 ( RFC 7519)&#xff0c;它定义了一种紧凑且自包含的方式&#xff0c;用于在各方之间以JSON对象的形式安全传输信息。此信息可以验证和信任&#xff0c;因为它是数字签名的。JWT可以使用密钥&…

Jmeter requests

1.Jemter元件和组件 1.1 元件和组件的概念 元件&#xff1a;多个功能相似的的组件的容器&#xff0c;类似于一个工具箱。 组件&#xff1a;实现某个特定功能的实例&#xff0c;类似于工具箱中的螺丝刀&#xff0c;十字扳手... 1.2 作用域和执行顺序 1.2.1 作用域 例子&#…

力扣HOT100之动态规划:300. 最长递增子序列

这道题之前刷代码随想录的时候也刷过&#xff0c;现在又给忘完了。自己尝试着写了一下&#xff0c;发现怎么写都写不对&#xff0c;直接去看视频了。。我自己写的时候的定义是&#xff1a;考虑下标0 ~ i范围内索赔能取到的最长严格递增子序列的长度&#xff0c;后面发现在写递推…

姜老师MBTI课程:ISTP和ISFP

文稿&#xff1a; 今天我们讲两个非常奇怪的人格特质组合。就是如果他又内向又严谨&#xff0c;他还可能P吗&#xff1f;可能愿意去接受风险&#xff0c;去尝鲜探索未知吗&#xff1f;对&#xff0c;咱们今天就讲的是ISP。 首先我们来看ISTP&#xff0c;一个人很内向&#xf…

Cursor奇技淫巧篇(经常更新ing)

Dot files protection &#xff1a;Cursor当开启了Agent模式之后可以自动帮我们写文件&#xff0c;但是一般项目中的一些配置文件&#xff08;通常以.开头的&#xff09;都是非常重要性&#xff0c;为了防止Cursor在运行的过程中自己修改这些文件&#xff0c;导致风险&#xff…

现代数据湖架构全景解析:存储、表格式、计算引擎与元数据服务的协同生态

本文全面剖析现代数据湖架构的核心组件,深入探讨对象存储(OSS/S3)、表格式(Iceberg/Hudi/Delta Lake)、计算引擎(Spark/Flink/Presto)及元数据服务(HMS/Amoro)的协作关系,并提供企业级选型指南。 一、数据湖架构演进与核心价值 数据湖架构演进历程 现代数据湖核心价…

Python训练营打卡Day41(2025.5.31)

知识回顾 数据增强卷积神经网络定义的写法batch归一化&#xff1a;调整一个批次的分布&#xff0c;常用与图像数据特征图&#xff1a;只有卷积操作输出的才叫特征图调度器&#xff1a;直接修改基础学习率 卷积操作常见流程如下&#xff1a; 1. 输入 → 卷积层 → Batch归一化层…

MySQL--day10--数据处理之增删改

&#xff08;以下内容全部来自上述课程&#xff09; 增删改 0. 储备工作 #0.储备工作 USE atguigudb; CREATE TABLE IF NOT EXISTS emp1( id INT, name VARCHAR(15), hire_date DATE, salary DOUBLE(10,2) );1. 插入数据 1.1 一条一条添加 # &#xff08;1&#xff09;…

新版智慧景区信息化系统解决方案

该智慧景区信息化系统解决方案以云 + 大数据 + 物联网技术为核心,秉持 “汇聚联合,突显数据隐性价值” 理念,通过数据融合、业务融合、技术融合,构建 “营销、服务、管理” 三位一体模式。方案涵盖智慧票务、智能入园、精准营销、景区管理(如用电安全监测、森林防火、客流…

VAE在扩散模型中的技术实现与应用

VAE在扩散模型中的技术实现与应用 技术概述 在生成式AI领域&#xff0c;VAE&#xff08;变分自编码器&#xff09;与扩散模型的结合代表了当前最先进的技术方向之一。这种结合不仅解决了扩散模型在处理高维数据时的效率问题&#xff0c;还提供了更稳定的训练过程和更好的生成质…

C#中实现两个对象部分相同属性值的复制

在C#中实现两个对象部分相同属性值的复制&#xff0c;可通过以下方案实现&#xff1a; 一、手动赋值&#xff08;基础方案&#xff09; 直接通过属性名逐个赋值&#xff0c;适用于属性较少且明确的情况&#xff1a; // 示例类定义 public class Source { public int Id …

SOC-ESP32S3部分:22-分区表

飞书文档https://x509p6c8to.feishu.cn/wiki/F9PdwnOKhiTRDWk4cr1cIZsvneh 无论是前面我们说到的NVS&#xff0c;还是后面用到的文件系统&#xff0c;他们都必须有存储的载体&#xff0c;例如NVS&#xff0c;我们说过它是存储在Flash中的&#xff0c;那具体是Flash的哪个位置呢…

华为OD机试真题——找出两个整数数组中同时出现的整数(2025A卷:100分)Java/python/JavaScript/C++/C语言/GO六种最佳实现

2025 A卷 100分 题型 本文涵盖详细的问题分析、解题思路、代码实现、代码详解、测试用例以及综合分析; 并提供Java、python、JavaScript、C++、C语言、GO六种语言的最佳实现方式! 2025华为OD真题目录+全流程解析/备考攻略/经验分享 华为OD机试真题《找出两个整数数组中同时出…

KWIC—Implicit Invocation

KWIC—Implicit Invocation ✏️ KWIC—Implicit Invocation 文章目录 KWIC—Implicit Invocation&#x1f4dd;KWIC—Implicit Invocation&#x1f9e9;KWIC&#x1f9e9;核心组件&#x1f9e9;ImplementationScheme⚖️ 隐式调用 vs 显式调用对比 &#x1f31f; 总结 &#x…

JWT 入门

一、JWT 概述 1. 扩展(Cookie、Session、Token) 灵魂拷问&#xff1a;为什么你的淘宝账号关闭后&#xff0c;购物车还在&#xff1f;其实这是Cookie 在搞事情。它就像是一种入场券&#xff0c;有该入场券就可以随意进出关卡。但这有个致命的弱点&#xff0c;Cookie是存在客户…