C++ strcat

原创 2015年07月07日 11:35:54

百度了一下网络上的代码,发现大多数是有问题的,自己琢磨着写了一个加深一下理解。
字符串拼接:

char* strcat(char* s,char* t)
{
    assert((s != NULL) && (t != NULL));//对输入源进行检测
    char* stradd = (char*)malloc(sizeof(char)*(strlen(s)+strlen(t)+1));
    assert(stradd != NULL);
    char *temp = stradd;
    while(*temp++ = *s++)
    {   
    }
    *temp--;
    while(*temp++ = *t++)
    {     
    }
    return stradd;
}

调用:

int main()
{
    cout <<"strcat" << strcat("12345","6789")<<endl;
}

输出:
这里写图片描述

看一下while(*temp++ = *s++){}执行顺序:
1 将*s值赋值给*temp;
2 判断*temp值是否为空(‘\0’),如果是,执行第3步,然后跳出循环
3 temp和s指向下一个地址,转第1步

while(*temp++ = *s++)
    {   
    }
    //此时temp指向'\0'的下一位,需要把指针回退一位,让temp指向'\0'
    *temp--;
版权声明:本文为博主原创文章,未经博主允许不得转载。

C\C++中strcat()函数

将两个char类型链接。 char d[20]="GoldenGlobal"; char *s="View"; strcat(d,s); 结果放在d中 printf("%s",d);...
  • SMF0504
  • SMF0504
  • 2016年07月28日 15:44
  • 38067

c++实现字符串strcat()连接

//字符串连接函数 #include #include using namespace std; char *string_cat(char *source,int s1,const ch...
  • lanzhihui_10086
  • lanzhihui_10086
  • 2014年07月27日 22:51
  • 3386

关于strncpy和strcat组合使用时,需注意的一点问题

strncpy和strcat
  • playboy_lei
  • playboy_lei
  • 2016年06月22日 17:17
  • 573

strcat源代码汇总

1. ibc(Linux下的ANSI C的函数库) char * strcat(char * dest, const char * src) { char *tmp = dest; ...
  • u013354805
  • u013354805
  • 2015年11月26日 16:08
  • 799

strcat函数用法的一点看法

最近在刷题时碰到了strcat这个函数,一开始没怎么理解它的用法,出了错,现在写点自己的理解吧。 首先来看两个小程序 代码一: #include using namespace std; int...
  • u011939264
  • u011939264
  • 2016年07月17日 20:20
  • 4532

C语言中strcat的实现方法

最近看到一道题目要求, 自己码代码实现strcat的功能, 于是自己实现了一个如下: /* * 12.编写一个函数JOIN,让它实现字符串连接运算功能。 */#include #include ...
  • zhyh1435589631
  • zhyh1435589631
  • 2015年07月10日 16:11
  • 3687

字符串函数---strcat()与strncat详解及实现

一、strcat()与strncat()      strcat():strcat(dest,src);        strcat把src所指向的字符添加到dest结尾处(覆盖原dest结尾处的'...
  • lanzhihui_10086
  • lanzhihui_10086
  • 2014年10月06日 15:53
  • 8511

C语言实现strlen()4种方法和strcat()3种方法

#include #include #if 0 // 默认使用法4 // 法1 int strlen(const char* str) { int n; // const char *p = ...
  • wujunbo27
  • wujunbo27
  • 2014年11月07日 23:39
  • 1011

安全编码实践四:C/C++中禁用危险API

程序员》9月文章   申明。文章仅代表个人观点,与所在公司无任何联系。 概述    在前面的安全编码实践的文章里,我们讨论了GS编译选项,数据执行保护DEP功能,以及静态代码分析工具Pr...
  • zhongyunde
  • zhongyunde
  • 2013年02月24日 19:43
  • 1216

strcat strcpy 深入研究(解决乱码等问题)

http://www.cnblogs.com/ladd/archive/2012/07/01/2572098.html strcat是将一个字符串链接到另外一个字符串上的函数,具体形式如下:...
  • mituan1234567
  • mituan1234567
  • 2013年12月01日 16:45
  • 649
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C++ strcat
举报原因:
原因补充:

(最多只允许输入30个字)