news 2026/9/25 9:31:34

字符串的拼接函数:strcat()

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
字符串的拼接函数:strcat()

一、strcat () 函数介绍

strcat()(string concatenation,字符串拼接)是 C 语言标准库<string.h>中的函数,用于将一个字符串追加(拼接)到另一个字符串的末尾,覆盖目标字符串原有的结束符'\0',并在拼接后的新字符串末尾添加'\0'。

1. 函数原型
char *strcat(char *dest, const char *src);
  • 参数:
    • dest:目标字符串(存放拼接后的结果),必须是可修改的字符数组(不能是字符串常量),且空间足够容纳原dest+src的内容。
    • src:源字符串(被拼接的字符串),用const修饰表示不修改源字符串。
  • 返回值:返回指向目标字符串dest的指针(便于链式调用)。
2. 核心原理

strcat()会先找到dest的末尾(即第一个'\0'的位置),然后从该位置开始,将src的字符逐个复制到dest中,直到src的结束符'\0'(该'\0'也会被复制)。


二、使用示例

1. 基础用法
#include <stdio.h> #include <string.h> int main() { // 目标数组需预留足够空间(原内容+拼接内容+'\0') char dest[50] = "Hello, "; // 原内容:"Hello, "(长度7) const char *src = "World!"; // 源字符串:"World!"(长度6) // 拼接src到dest末尾 strcat(dest, src); // 输出结果:Hello, World! printf("拼接后的字符串:%s\n", dest); // 输出dest的地址(与返回值一致) printf("strcat返回值:%s\n", strcat(dest, " Goodbye!")); return 0; }

输出结果:

拼接后的字符串:Hello, World! strcat返回值:Hello, World! Goodbye!
2. 错误示例(需避免)
#include <stdio.h> #include <string.h> int main() { // 错误1:目标是字符串常量(不可修改,会触发段错误) // char *dest = "Hello, "; // strcat(dest, "World!"); // 错误2:目标数组空间不足(会导致缓冲区溢出,未定义行为) char dest[10] = "Hello, "; // 空间仅10字节,拼接后超出 strcat(dest, "World!"); // 危险:内存越界 return 0; }

三、总结

  1. strcat()用于字符串拼接,需保证目标数组可修改且空间足够。
  2. strcat()不做边界检查,存在安全风险,优先使用strncat()。
  3. 拼接的核心是覆盖目标字符串的'\0',并在末尾添加新的'\0'。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/24 9:28:55

5款QSS模板实战指南:零基础打造专业级Qt界面

5款QSS模板实战指南&#xff1a;零基础打造专业级Qt界面 【免费下载链接】QSS QT Style Sheets templates 项目地址: https://gitcode.com/gh_mirrors/qs/QSS 还在为Qt应用界面单调乏味而困扰吗&#xff1f;想要用最简单的方式让你的程序拥有商业级视觉效果吗&#xff1…

作者头像 李华
网站建设 2026/9/1 18:40:00

终极姿态搜索工具:快速实现人体动作识别的完整指南

终极姿态搜索工具&#xff1a;快速实现人体动作识别的完整指南 【免费下载链接】pose-search x6ud.github.io/pose-search 项目地址: https://gitcode.com/gh_mirrors/po/pose-search pose-search是一款基于现代Web技术的开源姿态搜索工具&#xff0c;能够实时识别图像中…

作者头像 李华
网站建设 2026/9/23 13:44:08

积木报表:5分钟上手免费企业级数据可视化工具

积木报表&#xff1a;5分钟上手免费企业级数据可视化工具 【免费下载链接】jimureport 「数据可视化工具&#xff1a;报表、大屏、仪表盘」积木报表是一款类Excel操作风格&#xff0c;在线拖拽设计的报表工具和和数据可视化产品。功能涵盖: 报表设计、大屏设计、打印设计、图形…

作者头像 李华
网站建设 2026/9/1 18:07:18

PostgreSQL pgvector扩展Windows安装终极指南

想要在Windows系统上为PostgreSQL数据库注入强大的向量搜索能力吗&#xff1f;pgvector扩展正是您需要的解决方案。本文将为您提供一套完整的PostgreSQL pgvector Windows安装教程&#xff0c;从环境准备到实战应用&#xff0c;助您轻松掌握这一AI时代的关键技术。 【免费下载链…

作者头像 李华
网站建设 2026/9/2 1:52:29

7天精通Electron桌面应用开发:从零到项目实战完整教程

7天精通Electron桌面应用开发&#xff1a;从零到项目实战完整教程 【免费下载链接】electron-api-demos-Zh_CN 这是 electron-api-demos 的中文版本, 更新至 v2.0.2 项目地址: https://gitcode.com/gh_mirrors/el/electron-api-demos-Zh_CN Electron API演示应用中文版是…

作者头像 李华
网站建设 2026/9/25 2:00:28

探索5大高效DDD测试策略:让代码成为活文档的终极指南

探索5大高效DDD测试策略&#xff1a;让代码成为活文档的终极指南 【免费下载链接】modular-monolith-with-ddd Full Modular Monolith application with Domain-Driven Design approach. 项目地址: https://gitcode.com/GitHub_Trending/mo/modular-monolith-with-ddd 还…

作者头像 李华