c的几个string库函数简单实现

来源:本站
导读:目前正在解读《c的几个string库函数简单实现》的相关信息,《c的几个string库函数简单实现》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《c的几个string库函数简单实现》的详细说明。
简介:本文和大家分享c的几个string库函数程序。

#include<stdio.h>

#include<stdlib.h>

#include<string.h>

#include<malloc.h>

int fun1(char *p)

{

int len=0;

while(*p!=0){len++;p++;}

return len;

}

int fun2(const char *s)

{ const char *p=s;

while(*p++);

return p-s-1;

}

/*************

p

abcde

s-----s

1234567

*************/

int fun3(const char *s)

{ if(*s==0)return 0;

else return(1+fun3(s+1));

}

void *fun4(char *d,const char*s,int n)

{//assert(d);assert(s);

char *ret=d;

while(*d){d++;}//d move to

while(n)

{*d++=*s++;n--;}// turn to abcde....

return ret;

}

void *fun5( char *d, char *s)

{

char *ret=NULL;

while(*d)

{

while(*s){if(*d==*s){d++;s++;}else break;}

if(*s==0) return ret;

else {d++;ret=d;}

}

}//44

void *fun6( char *s1, char *s2)

{

char *pstr=s1;

char *p1=NULL;

char *p2=NULL;

while(*pstr)

{ p1=pstr;p2=s2;

while((*p1)&&*p1==*p2){p1++;p2++;if(*p2==0)return pstr;}

pstr++;

}

return 0;

}

char *fun7(char *d,const char *s)

{

char *ret=d;

while(*d++=*s++);

return ret;

}

/*******

s1<--s2

*******/

int fun8(const char* s1,const char *s2)

{

while(*s1==*s2){if(*s1==0)return 0; s1++;s2++;}

return (*s1-*s2);

}

/*******

s1>s2 return 1 2 3....

*******/

void *fun9(void *d,const void *s,int size)

{

void *ret=d;

char *p1=(char *)d;

char *p2=(char *)s;

while(size--){*p1++;*p2++;}

return ret;

}

void *fun10(void *d,const void *s,int size)

{

void *ret=d;

char *p1=(char *)d;

char *p2=(char *)s;

if(p1>p2&&p1<p2+size)

{

while(size--){*(p1+size)=*(p2+size);}

}

else while(size--){*p1++=*p2++;}

return ret;

}

void main()

{

char ss[]="abcde";

char s1[]="abcde";

char s2[]="abcde";

char *p=ss;

//printf("%dn",strlen(p));

//printf("%dn",fun1(p));

//printf("%dn",fun2(p));

// printf("%dn",fun3(p));

// printf("%sn",fun4(s1,s2,1));//have bug printf more about s2;

// printf("%sn",fun6(s1,s2));

// printf("%sn",fun7(s1,s2));

// printf("%dn",fun8(s1,s2));

printf("%sn",fun9(s1,s2,5));

printf("%sn",fun10(s1,s2,5));

}

提醒:《c的几个string库函数简单实现》最后刷新时间 2024-03-14 00:59:16,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《c的几个string库函数简单实现》该内容的真实性请自行鉴别。