#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为变量
}
c语言模拟实现字符串相关函数
最新推荐文章于 2023-10-22 17:01:24 发布