当前位置: 首页 > news >正文

C58-字符串拼接函数strcat

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

相关文章:

  • RAID磁盘阵列配置
  • 前端八股 tcp 和 udp
  • C语言-10.字符串
  • 内存管理 : 04段页结合的实际内存管理
  • 第十五篇:MySQL 高级实战项目:构建高可用、可观测、性能优化一体化数据库平台
  • 【SpringBoot实战】优雅关闭服务
  • ubuntu/windows系统下如何让.desktop/.exe文件 在开机的时候自动运行
  • 【深度学习】线性因子模型:数据降维与结构解析的数学透镜
  • TDenigne 集群可视化管理
  • 华为OD机试真题——文件目录大小(2025 A卷:100分)Java/python/JavaScript/C++/C语言/GO六种语言最佳实现
  • 设计模式——工厂方法模式(创建型)
  • RabbitMQ 高级特性
  • Unity 模拟高度尺系统开发详解——实现拖动、范围限制、碰撞吸附与本地坐标轴选择
  • C语言基础(08)【循环结构】
  • PCB设计教程【强化篇】——USB拓展坞原理图设计
  • 生成式AI模型学习笔记
  • Fastapi 学习使用
  • 告别压降损耗与反向电流困扰:汽车电子电源防反接方案全面解析与理想二极管应用
  • 【Unity笔记】Unity WASD+QE 控制角色移动与转向(含 Shift 加速)实现教程
  • 【Python进阶】CPython
  • 做网站广告费/360优化大师官方官网
  • 做本地生活网站/广州中小企业seo推广运营
  • 网站建设系统开发/365优化大师软件下载
  • 深圳产品型网站建设/媒体软文发稿
  • 长春网站建设首选网诚传媒/市场营销网站
  • 做网站 长/上海牛巨微seo关键词优化