C 簡陋版string操做strcpy strcmp strcat strchr strstr

文件下載地址:http://pan.baidu.com/s/1bn2BcTLc++

代碼以下:spa


#include <stdio.h>get

#include <stdlib.h>it



char *strcpy_(char *dest,const char *src);io

char *strcat_(char *dest,const char *src);下載

int strcmp_(const char *dest,const char *src);di

int strlen_(const char *src);文件

char *strchr_(char *s, int c);文件下載

char *strstr_(const char *s,const char *c);while

int main()

{

char p[]="xxdexxx";

char q[]="de";

printf("p=%s\n",p);

printf("q=%s\n",q);

printf("strlen_(p)=%d\n",strlen_(p));

printf("strcpy_(p,q)=%s\n", strcpy_(p,q));

char p1[]="xxdexxx";

char q1[]="de";

printf("strchr_(p,'d')=%s\n",strchr_(p1,'d'));

char p2[]="xxdexxx";

char q2[]="de";

printf("strstr_(p,q)=%s\n",strstr(p2,q2));

char p3[]="xxdexxx";

char q3[]="de";

printf("strcmp_(p,q)=%d\n",strcmp_(p3,q3));

char p4[]="xxdexxx";

char q4[]="de";

printf("strcat_(p,q)=%s\n",strcat_(p4,q4));

return 0;

}


char *strstr_(const char *s,const char *c)

{

const char *p=NULL;

const char *q=NULL;

while(*s!='\0')

{

p=s;

p=c;

while(*s==*c&&*c!='\0')

{

s++;

c++;

}

if(*c=='\0')

{

return (char*) p;

}

p++;

c=p;

s=p;

}

return NULL;

}

char *strcpy_(char *dest,const char *src)

{

char *p=dest;

while(*src!='\0')

{

*p=*src;

p++;

src++;

}

return dest;

}


int strcmp_(const char *dest,const char *src)

{

int result=0;

const char *p=dest;

AA: if(*p==*src)

{

p++;

src++;

goto AA;

}else

{

result=*p-*src;

return result;

}

return result;


}


char *strcat_(char *dest,const char *src)

{

int len=strlen_(dest)+strlen_(src)+1;

char *p=(char *)malloc(len);

if(p!=NULL)

{

strcpy_(p,dest);

strcpy_(p+strlen_(dest),src);

return p;

}

return NULL;


}


char *strchr_(char *s, int c)

{

char *p=s;

while(*p!='\0')

{

if(*p==c)

{

return p;

}

p++;

}

return NULL;


}


int strlen_(const char *src)

{

int count=0;

const char *p=src;

while(*p++)

{

count++;

}

return count;

}

相關文章
相關標籤/搜索