函数原型:extern char *strcat(char *dest,char *src)
参数说明:dest为一个目的字符串的指针,即被连接的字符串(在前),src为一个源字符串的指针(在后)。
所在库名:#include
<string.h>
函数功能:把src所指字符串添加到dest结尾处实现字符串的连接,连接过程覆盖dest结尾处的'/0'。
返回说明:src和dest所指内存区域不可以重叠,并且dest必须有足够的空间来容纳src的字符串返回指向dest的指针。
其它说明:暂时无。

实现代码:

char* strcat(char* dest,char* src){
if(src==NULL||dest==NULL) return;
char* temp=dest;
int i=;
int j=;
while (dest[i]!='\0')
i++;
while((dest[i++]=src[j++])!='\0')
;
return temp;
}

举例:

#include <string.h>
#include <stdio.h>
int main()
{
char str1[]="SKY2098,persist IN DOING AGAIN!";
char *str2="sky2098,must be honest!";
int n=;
char *strtemp;
strtemp=strncat(str1,str2,n); //将字符串str2中的前n个字符连接到str1的后面
printf("The string strtemp is: %s ", strtemp);
return ;
}

在VC++ 6.0 编译运行:

如果最初为dest分配空间不足时,比如我们这样:
char *dest="Hello,I
am sky2098,I liking programing!";  //这其实是一个常量字符串,dest任何一个值在编译阶段就固定了的,不能再改变,比如dest[0]='a' 出错。
连接字符串时就会发生异常:

通过char
*dest="Hello,I am sky2098,I liking programing!";我们只是为dest分配了strlen("Hello,I am
sky2098,I liking
programing!")+1;个字节空间,而连接是在dest的“/0”上覆盖,而此时只有一个“/0”的空间大小,所以无法实现连接功能。

最新文章

  1. Asp.Net Core 项目实战之权限管理系统(2) 功能及实体设计
  2. 小型单文件NoSQL数据库SharpFileDB初步实现
  3. u-boot-2010.09移植(B)
  4. 利用mybatis-generator自动生成代码
  5. zTree简单使用和代码结构
  6. POJ 3277 City Horizon(扫描线+线段树)
  7. send,recv,sendto,recvfrom
  8. Light OJ 1021 - Painful Bases(状态压缩DP)
  9. mac xcode 快捷键
  10. Java深入 - MyBatis的经常用法
  11. easyUI中点击datagrid列标题排序
  12. SSRF漏洞总结
  13. 在VS2017下配置OpenGL
  14. 【一天一道LeetCode】#223. Rectangle Area
  15. CentOS7+CDH5.14.0安装全流程记录,图文详解全程实测-4配置NTP服务
  16. Python—json模块
  17. C# 实现身份验证之WCF篇(2)
  18. iOS开发之--UIImageView的animationImages动画
  19. python 实践项目
  20. Codeforces 832E Vasya and Shifts - 高斯消元

热门文章

  1. Windows下使用python库 curses遇到错误消息的解决方案
  2. VMware 彻底删除虚拟机操作系统的方法
  3. 7-Java-C(搭积木)
  4. iview table icon dorpdown html页面级别vue组件 #vuez#
  5. mkdir与makedirs
  6. Java中的BIO,NIO,AIO分别是什么
  7. Word转html并移植到web项目
  8. (11) openssl req(生成请求证书、私钥和自建CA)
  9. DB2数据库在线备份还原
  10. Ubuntu中python链接本地数据库