模拟实现strlen,strcpy,strcat,strstr,strcmp函数
2017-11-07 22:07
666 查看
模拟实现strlen
参考代码:
三种方式:
方式1:
方式2:
方式3:
模拟实现strcpy
参考代码:
模拟实现strcat
参考代码:
模拟实现strstr
参考代码:
模拟实现strcmp
参考代码:
参考代码:
三种方式:
方式1:
int my_strlen(const char * str) { int count = 0; while(*str) { count++; str++; } return count; }
方式2:
int my_strlen(const char * str) { if(*str == '\0') return 0; else return 1+my_strlen(str+1); }
方式3:
int my_strlen(char *s) { char *p = s; while(*p != ‘\0’ ) p++; return p-s; }
模拟实现strcpy
参考代码:
char *my_strcpy(char *dest, const char*src) { char *ret = dest; assert(dest != NULL); assert(src != NULL); while((*dest++ = *src++)) { ; } return ret; }
模拟实现strcat
参考代码:
char *my_strcat(char *dest, const char*src) { char *ret = dest; assert(dest != NULL); assert(src != NULL); while(*dest) { dest++; } while((*dest++ = *src++)) { ; } return ret; }
模拟实现strstr
参考代码:
char *my_strstr(const char* str1, const char* str2 ) { assert(str1); assert(str2); char *cp = (char*)str1; char *substr = (char *)str2; char *s1 = NULL; if(*str2 == '\0') return NULL; while(*cp) { s1 = cp; substr = str2; while(*s1 && *substr && (*s1 == *substr)) { s1++; substr++; } if(*substr == '\0') return cp; cp++; } }
模拟实现strcmp
参考代码:
int my_strcmp (const char * src, const char * dst) { int ret = 0 ; while( ! (ret = *(unsigned char *)src - *(unsigned char *)dst) && *dst) ++src, ++dst; if ( ret < 0 ) ret = -1 ; else if ( ret > 0 ) ret = 1 ; return( ret ); }
相关文章推荐
- 和字符串有关的函数的模拟实现 strlen strcpy strcat strstr strcmp
- 模拟实现: strstr strcpy strlen strcat strcmp memcpy memmove
- 模拟实现strstr,strcpy,strlen,strcat,strcmp,memcpy,memmove
- 模拟实现strstr,strcpy,strlen,strcat,strcmp,memcpy,memmove
- 模拟实现字符串操作函数(strcpy,strstr,strcat,strcmp,strlen)与内存操作函数(memcpy,memmove)
- 模拟实现strcpy,strcmp,strcat,strstr.strlen
- 字符串处理函数的模拟实现(strlen、strstr、strcat、strcmp、strcpy、memmove、memcpy)
- C语言字符串函数的模拟实现(strlen、strcpy、strcat、strstr 、strcmp)
- 模拟实现strcmp,strncmp,strstr,strcat,strncat,strcpy,strncpy,strlen ,memcpy,memmove等函数
- strlen,strcpy,strcat,strcmp,strstr,memcpy,的模拟实现方式
- 模拟实现: strstr strcpy strlen strcat strcmp memcpy memmove
- 模拟实现strlen,strcpy,strcat,strstr,strcmp,memcpy,memmove
- 模拟实现strlen、strcpy、strcat、strcmp函数
- strcpy strlen memcpy strcat strcmp strstr strrev函数的实现代码
- 自定义实现字符串处理函数 strlen strcmp strcpy strncpy strcat strncat strchr strstr
- [C语言]strcat strstr strcpy strcmp strlen 的实现与使用
- 自己实现memcpy/strcpy/strcmp/strcat/strlen/strstr
- [C语言]模拟实现strcpy/strncpy/strcat/strncat/strcmp/strncmp/strstr
- strcpy,strcat,strcmp,strstr的模拟实现
- 自己实现memcpy/strcpy/strcmp/strcat/strlen/strstr