int str_cmp(const char *s1,const char *s2) { int ret; while(!(ret = *(unsigned char *)s1 - *(unsigned char *)s2) && s2++) s1++,s2++; if(ret > 0) ret = 1; else if(ret <0) ret = -1; return ret; } int str_len(const char *s) { assert(s != 0); char *start = s; while(*s++); return (s - start - 1); } char* str_cpy(char *dest,char *src) { assert( (dest != 0) && (src != 0)); char* ret = dest; while(*src) *dest++ = *src++; *dest = '\0'; return ret; } char* str_cat(char *dest,char *src) { assert((dest != 0) && (src != 0)); char *ret = dest; while(*dest) dest++; while(*src) *dest++ = *src++; *dest = '\0'; return ret; }
【C深度剖析】自实现 strcmp strlen strcpy strcat
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。