char * stringcpy(char *dest,const char *src) { assert((dest!=NULL) && (src!=NULL)); char *ret =dest; while((*dest++=*src++)!='/0'){} return ret; } char *stringcat(char *dest,const char *src) { assert((dest!=NULL) && (src!=NULL)); char *ret=dest; while(*dest!='/0')dest++; while((*dest++=*src++)!='/0'){} return ret; } int stringcmp(const char*s1,const char*s2) { assert(s1!=NULL && s2!=NULL); while((*s1==*s2) && *s1) { s1++; s2++; } if ((*s1-*s2)>0) return 1; else if((*s1-*s2)<0) return -1; else return 0; } int stringlen(const char * s) { assert(s!=NULL); int length=0; while(*s++) { length++; } return length; } const char * stringstr(const char *src, const char *sub) { assert((src!=NULL)&&(sub!=NULL)); const char *p=src; const char *q=sub; while(*p!='/0') { const char *ret =p; while((*p++==*q++) && *q) {} if(*q=='/0') { return ret; } else { q=sub; p=++src; } } return NULL; } int stringchr(const char *src, char c) { assert(src); const char *p=src; while(*p!='/0') { if(*p==c) { return (int)(p-src+1); } p++; } return -1; } const char* stringpbrk(const char *src, const char *sub) { const char *p=src; const char *q=sub; while(*q!='/0') { while((*p!=*q)&& *p) { p++; } if(*p!='/0') return p; else { q=sub++; p=src; } } return NULL; } char *stringrev(char *src) { int length=strlen(src); char *ret =new char[length]; for(int i=0;i<length;i++) { *(ret+length-i-1)=*(src+i); } return ret; }