strcat函数

函数功能:将两个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;
}

你可能感兴趣的:(web前端)