news 2026/4/18 10:31:28

字符串的拼接函数: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/4/18 1:51:34

3步搞定Monaco Editor智能代码补全:从零配置到高级语言服务

3步搞定Monaco Editor智能代码补全&#xff1a;从零配置到高级语言服务 【免费下载链接】monaco-editor A browser based code editor 项目地址: https://gitcode.com/gh_mirrors/mo/monaco-editor 你是否在集成Monaco Editor时遇到过智能提示不工作、代码补全功能缺失的…

作者头像 李华
网站建设 2026/4/17 17:16:46

腾讯混元重磅出击:130亿参数视频模型如何改写AI创作格局?

腾讯混元重磅出击&#xff1a;130亿参数视频模型如何改写AI创作格局&#xff1f; 【免费下载链接】HunyuanVideo 项目地址: https://ai.gitcode.com/hf_mirrors/tencent/HunyuanVideo 在文生视频技术风起云涌的2024年末&#xff0c;中国AI领域迎来了一枚重磅炸弹。腾讯…

作者头像 李华
网站建设 2026/4/13 16:19:09

Qwen3-4B-FP8模型本地部署:零门槛极简实战指南

Qwen3-4B-FP8模型本地部署&#xff1a;零门槛极简实战指南 【免费下载链接】Qwen3-4B-Instruct-2507-FP8 项目地址: https://ai.gitcode.com/hf_mirrors/Qwen/Qwen3-4B-Instruct-2507-FP8 还在为复杂的AI模型部署流程头疼吗&#xff1f;作为技术爱好者&#xff0c;你是…

作者头像 李华
网站建设 2026/4/15 5:08:27

3D打印速度优化终极指南:层高线宽最佳配比黄金法则

3D打印速度优化终极指南&#xff1a;层高线宽最佳配比黄金法则 【免费下载链接】OrcaSlicer G-code generator for 3D printers (Bambu, Prusa, Voron, VzBot, RatRig, Creality, etc.) 项目地址: https://gitcode.com/GitHub_Trending/orc/OrcaSlicer 让我们一起来探索…

作者头像 李华
网站建设 2026/4/17 22:20:35

终极指南:MenuMeters - 实时监控你的macOS系统性能

在当今数字化工作环境中&#xff0c;macOS系统监控已成为每个Mac用户必备的技能。无论是追踪CPU使用率、内存占用&#xff0c;还是监控磁盘读写活动&#xff0c;一个直观易用的工具能让你对系统状态了如指掌。今天&#xff0c;我们将深入介绍MenuMeters这款经典的菜单栏性能工具…

作者头像 李华
网站建设 2026/4/18 4:59:47

程序员兼职:高效拓展收入与技术能力的现实路径

随着远程办公、灵活用工逐渐成为趋势&#xff0c;程序员兼职正在成为许多开发者提高收入、积累项目经验、探索更多职业路线的现实选择。不同于传统的固定工作&#xff0c;兼职项目更自由&#xff0c;但同时也带来了更高的信息不对称与执行压力。 为了帮助想进入程序员兼职市场的…

作者头像 李华