strcat的实现和模拟

1.strcat()函数的调用形式

strcat(字符串1,字符串2);

2.功能

将字符串2链接到字符串1的末尾,形成一个新字符串
#include<stdio.h>
#include<string.h>
int main()
{
    char s1[50] = "hello";
    char s2[50] = "world";
    strcat(s1, s2);
    printf("%s", s1);
    return 0;
}

3.模拟实现strcat函数

#include<stdio.h>
#include<string.h>
#include<assert.h>
void * my_strcpy(char*dest, const char*src)
{
    assert(dest != NULL);//断言,如果为空指针,编译器会报错
    assert(src != NULL);
    while (*dest++ = *src++)
    {
        ;
    }
}
char * my_strcat(char *dest, const char *src)
{
    char *ret = dest;//保存字符串s1的首地址,最后要输出,这个地址不能丢
    assert(dest != NULL); 
    assert(src != NULL);
    //找到字符串s1的'\0'
    while (*dest != '\0')  
    {
        dest++;
    }
    //从'\0'处开始拷贝字符串s2
    my_strcpy(dest, src);
    return ret;
}
int main()
{
    char s1[50] = "hello";
    char s2[50] = "world";
    my_strcat(s1, s2);
    printf("%s", s1);
    return 0;
}

猜你喜欢

转载自blog.csdn.net/weixin_40995778/article/details/80302347
今日推荐