即日起在codingBlog上分享您的技术经验即可获得积分,积分可兑换现金哦。

strcat函数

编程语言 happy_xiahuixiax 69℃ 0评论

函数功能:将两个char类型链接。


char d[20] = “GoldenGlobal”;


char *s = “View”;


strcat(d, s);


结果放在d中


printf(“%s”, d);


输出d为GoldenGlobalView(中间无空格)


注意:d和s所指内存区域不可以重叠且d必须有足够的空间来容纳s的字符串。返回指向d的指针。


c函数中,原型为:


extern char *strcat(char *dest, char *src);

用法如下:


#include

// strcat_test.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
//#include 

char* strcat(char* strDest, const char* strSrc)
{
    //后文return address,故不能放在assert断言之后声明address
    char* address = strDest;
    assert((strDest!=NULL)&&(strSrc!=NULL)) //对源地址和目的地址加非0断言
    while(*strDest) //是while(*strDest != '\0')的简化形式
    {
        //若使用while(*strDest++),则会出错,因为循环结束后strDest还会执行一次+
        //那么strDest将指向'\0'的下一个位置。所以要在循环体内++,因为要使*strDest
        //最后指向该字符串的结束标志'\0'
        strDest++;
    }
    while(strDest++ = *strSrc++)
    {
        NULL;//该循环条件内可以使用++
    }//此处可以加语句*strDest= '\0';无必要
    return address;//为了实现链式操作
}

//另一种实现方法
char *mystrCat(char *dst, const char *src)
{
    char *p = dest;//下面的操作会改变目的指针指向,先定义一个指针记录dst
    while(*dst != '\0')dst++;
    while(*src != '\0')*dst++ = *src++;
    *dst = '\0'
    return p;
}

转载请注明:CodingBlog » strcat函数

喜欢 (0)or分享 (0)
发表我的评论
取消评论

*

表情