【C深度剖析】自实现strcmpstrlenstrcpystrcat
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深度剖析】自实现strcmpstrlenstrcpystrcat
文章源于:http://scyanting.com/article/jgodce.html