c语言模拟实现字符串相关函数

#include<stdio.h>
char* kk₋strcat(char * dest,char * src);
int kk₋strlen(char * str)//模拟实现strlen
{
    int count=0;
    while(*str++) count++;
    return count;
}

char *kk₋strcpy(char *dest,char *src)//模拟实现strcpy
{
    char* ret=dest;
    while(*dest++=*src++);
    return ret;
}

char *kk₋strncpy(char *dest,char*src,int n)
{
char *ret = dest;
    while (n)    {        
    *dest++ = *src++;       
     n--;   
     }    
    return ret;
}

int kk₋strcmp(char *str1,char *str2)//模拟实现strcmp
{
    while(*str1==*str2) {//两个字符串分别挨个进行比较
        if(*str1=='\0')//当比较完\0时返回
            return 0;
        str1++;
        str2++;
    }
    if(*str1>*str2) return 1;
    else return -1;

}
char* kk₋strcat(char * dest,char * src)
{
    char * ret=dest;
    while(*dest)
        dest++;
    while(*dest++=*src++);
    return ret;
}
int main()
{
    char a[50]="hello";
    char *p="killfafa";
    char *s="fafafa";
    printf("strlen::%d\n",kk₋strlen(a));
    printf("strcpy:%s\n",kk₋strcpy(a,p));
    printf("strncpy:%s\n",kk₋strncpy(a,p,4));
    printf("strcmp:%d\n",kk₋strcmp(s,s));
    printf("strcmp:%d\n",kk₋strcmp(p,s));
    printf("strcat:%s",kk₋strcat(a,s));//dest为变量

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值