目录

strcat

函数原型

参数讲解

返回值详解

函数讲解

(1)源字符串和目标字符串都必须以'\0'结束

(2)目标空间必须足够大,能容纳下源字符串的内容

(3)目标空间必须可修改


strcat

字符串追加

函数原型

char *strcat( char * destination, const char source );

参数讲解

参数 destionation source
解释 目标字符串地址 以 Null 结尾的源字符串地址

返回值详解

函数返回目标字符串 (destination)。 没有返回值则追加失败。

函数讲解

strcat函数可以可以把一个字符串最加到另一个字符串上,如下。

当我们在使用strcat函数时,strcat并非对任意字符串都进行追加。

所以我们要注意一下几点

(1)源字符串和目标字符串都必须以'\0'结束

strcat在给目标字符串追加字符时,首先就要找到目标字符串中'\0'的位置,并在'\0'的位置上向后追加,为不是直接追加到目标字符串的末尾

我们来看以下代码

#include<stdio.h>
#include<string.h>int main()
{char arr1[20] = "hello\0XXXXXXXX";char arr2[] = "bit";strcat(arr1, arr2);printf("%s", arr1);return 0;
}

如下图,arr2是从arr1中第一个'\0'位置,开始追加的。同时还把arr2中的'\0'追加到arr1中

当我们不在目标字符串内添加'\0',使用strcat函数就会出现错误,打印源字符串甚至会出现乱码。

(2)目标空间必须足够大,能容纳下源字符串的内容

当目标字符串剩余空间容不下源字符串时,编译器就会出现警告

(3)目标空间必须可修改

我们来看一下下列代码

#include<stdio.h>
#include<string.h>int main()
{char* arr1 = "hello";char arr2[] = "bit";strcat(arr1, arr2);printf("%s", arr1);return 0;
}

当我们运行时,编译器会一直运行知道崩溃!为什么呢?因为这里arr1是个字符型指针,arr1所指向的字符是个常量字符不能改变,所以这种情况运行时编译器也会崩溃。

【C库函数】strcat函数详解相关推荐

  1. strcat函数详解看这一篇就够了-C语言(函数实现、使用用法举例、作用、与strncat的区别)

    首先要明确strcat的功能是:将参数dest字符串和参数src字符串拼接起来 目录 函数介绍 与strncat的区别 函数实现: 用法示例: 结果展示: 函数介绍 函数原型:char* strcat ...

  2. c语言 标准库 定时器,C中的标准库函数time函数详解

    C语言中的标准库函数包括一系列日期和时间处理函数,它们都在头文件中说明.下面列出了这些函数.在头文件中定义了三种类型:time_t,struct tm和clock_t. 在头文件中说明的C语言时间函数 ...

  3. C语言string库strcpy、strcmp、strcat函数详解

    strcpy 即string copy 语法格式为strcpy(str1, str2), 作用是将str2赋值给str1 使用方法类似于 char str1[10], str2[] = "a ...

  4. C语言strcat、strncat函数详解

    C语言strcat.strncat函数详解 一.strcat函数 1.函数原型 2.函数参数.返回值解析 3.函数作用 4.注意事项 5.strcat函数模拟实现 二.strncat函数 1.函数原型 ...

  5. 【C库函数】qsort函数详解

    目录 qsort ​ 函数基本原型 参数解读 函数详解 比较函数实现并解读 qsort函数排序代码实现并展示结果 1.排序整型数组 2.排序结构体 qsort 函数是基于快速排序算法实现的一个排序函数 ...

  6. 【C库函数】strncpy函数详解

    目录 strncpy 函数原型 参数讲解 返回值讲解 函数讲解 (1)一般使用场景 (2)特殊使用场景(错误) strncpy         拷贝n个字符到目标字符串中 函数原型 char *str ...

  7. C库函数之 strtol函数详解

    strtol函数详解 函数声明 base为0的情况 endptr的妙用 函数声明 long int strtol (const char* str, char** endptr, int base); ...

  8. 脚本——web_custom_request函数详解

    web_custom_request函数详解 在LR中当使用HTML录制方式时,录制的脚本中主要由函数web_link().web_submit_form().web_url().web_submit ...

  9. 冒泡排序和qsort函数详解以及如何模拟实现qsort函数

    一.冒泡排序 冒泡排序是一种常见的排序方式,它可以把数组元素有序或无序的数组进行重新排序,并使得数组中的元素从大到小或从小到大进行排序(就像泡泡一样). 冒泡排序原理: 每次比较数组中的相邻的两个元素 ...

最新文章

  1. 齐鲁师范学院计算机专业在那个校区,齐鲁师范学院有几个校区及校区地址 哪个校区最好...
  2. 大小端以及字节序的问题
  3. 针对《评人工智能如何走向新阶段》一文,继续发布国内外的跟贴留言477-486条如下:
  4. 发票管理及打印系统的部分代码
  5. HDU - 6082 度度熊与邪恶大魔王(背包变式)
  6. Qtum量子链作客第四届拉美商业科技大会
  7. Python中strip()、lstrip()、rstrip()用法详解
  8. android 导航 美国,变美了 Android N或用全新虚拟导航按键
  9. qgraphicsitem 复制副本_QGraphicsItem:调用paint函数时
  10. cisco pix模拟器最新版本更新时间07.02号
  11. 水经注叠加cad_如何下载等高线并在CAD中与卫星影像叠加
  12. 编程心得体会_CimatronE14高级五轴第三步,平行于曲线铣,会3轴编程更易理解
  13. 【故障诊断分析】基于matlab概率神经网络柴油机故障诊断【含Matlab源码 1754期】
  14. localdatetime 格式化_LocalDateTime取代Data处理时间问题
  15. 离散数学左孝凌版答案
  16. matlab常用符号意思,matlab常用的符号
  17. Mathematics for Machine Learning--机器学习笔记【合集】
  18. 2020年全球锂电池电芯产值将超过3400亿元
  19. 海康摄像头的ISAPI协议
  20. centos7.6 桌面版本 网卡重启失败 记录

热门文章

  1. 哪些视频字幕提取软件好用?分享这三款好用的软件
  2. 数据中心网络DCN有哪些顶会顶刊?
  3. ZBrush该如何通过结合KeyShot制作逼真玉佩
  4. [生活常识]结婚周年纪念名称Marriage Anniversaries(中英文)
  5. Onenote 无法同步/同步失败的原因(附解决方案)
  6. 五大技巧识别钓鱼网站
  7. 完美解决SDWebImage加载多个图片内存崩溃的问题
  8. 从京东技术演进看互联网企业的成长历程
  9. JS逆向 -- 分析某站aid、cid、w_rid和sid的加密过程
  10. 6.27王者荣耀说服务器在维护,2019.6.27 王者荣耀更新内容 6月27日王者荣耀更新内容...