strcpy,strcmp,strcat,strlen的实现以及大概介绍(下)

1.实现strcat函数:链接字符串

#include<stdio.h>
#include<string.h>
char *my_strcat(char *p,char const *q)
{
    char *dea=p;
    while(*p)
    {
        p++;
                          //*p指向dst的地址里的内容
    }                  //p是指针,被赋值q,也就是p指向q所在的位置
    /*  while(*q)           
    {
     *p=*q;           //*p指向dst的地址里的空间被赋值
     p++;
     q++;
    }
    *p='\0';  */
    strcpy(p,q);
    return dea;


}

int main()
{
    char dst[30]= "miss ";
    char *src = "you";
    char *ret=my_strcat(dst,src);
    printf("%s",ret);
    return 0;
}

函数原型:char *strcat(char *dst,char const *src);
注意:
将src字符串与dst连接,从'\0'处开始;
1:目标参数是一个字符数组;
2:字符数字应足够大;

2.实现strcpy函数:字符串复制

#include<stdio.h>
char *my_strcpy(char *a,char *q)
{
    char *dst = a;      /*必须要提前存储上a的首地址,否则最后没办法返回值,即使返回*/
                         // 也是字符串长度减一的地址。
    while(*q)                       
    {
        *(a++)=*(q++);

    }
        *a='\0';     
    return   dst  ;
}

int main()
{
    char *p = "hello zhang yu ";
    char *brr="hello zhang yu hhhhh";
    char arr[30]={0};

    char *ret =my_strcpy(arr,p);
    printf("%s\n",ret);
    return 0;
}

函数原型:char *strcpy(char *dst,char const *src)

1.若参数src与dst在内存中出现重叠。结果未定义
2.因为dst将进行修改,所以他必须是个字符数组或一个指向动态分配内存的数组的指针。

**strcpy和strcat都返回它们第一个参数的一份拷贝,就是一个指向目标字符数组的指针,由于他们返回这种类型的值,所以你可以嵌套的调用这些函数
strcat(strcpy (dst,src),”hello”)**
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值