strcpy strcat strcmp strstr函数实现
2014-07-01 13:44
423 查看
char * strcpy(char* dst,const char* src)
{
assert((dst!=NULL)&&(src!=NULL));
char* cp=dst;
while(*src!='\0')
{
*dst=*src;
src++;
dst++;
}
*dst='\0';
return cp;
}
char* strcat ( char * dst , const char * src )
{
char * cp = dst;
while( *cp )
cp++; /* find end of dst */
while(*src!='\0')
{
*cp++=*src++;
}
*cp='\0';
return dst; /* return dst */
}
int strcmp(const char* str1, const char* str2)
{
int ret = 0;
while(!(ret=*(unsigned char*)str1-*(unsigned char*)str2) && *str1)
{
str1++;
str2++
}
if (ret < 0)
{
return -1;
}
else if (ret > 0)
{
return 1;
}
return 0;
}
char *strstr( const char *s1, const char *s2 )
{
int len2;
if ( !(len2 = strlen(s2)) )
return (char *)s1;
for ( ; *s1; ++s1 )
{
if ( *s1 == *s2 && strncmp( s1, s2, len2 )==0 )
return (char *)s1;
}
return NULL;
}
{
assert((dst!=NULL)&&(src!=NULL));
char* cp=dst;
while(*src!='\0')
{
*dst=*src;
src++;
dst++;
}
*dst='\0';
return cp;
}
char* strcat ( char * dst , const char * src )
{
char * cp = dst;
while( *cp )
cp++; /* find end of dst */
while(*src!='\0')
{
*cp++=*src++;
}
*cp='\0';
return dst; /* return dst */
}
int strcmp(const char* str1, const char* str2)
{
int ret = 0;
while(!(ret=*(unsigned char*)str1-*(unsigned char*)str2) && *str1)
{
str1++;
str2++
}
if (ret < 0)
{
return -1;
}
else if (ret > 0)
{
return 1;
}
return 0;
}
char *strstr( const char *s1, const char *s2 )
{
int len2;
if ( !(len2 = strlen(s2)) )
return (char *)s1;
for ( ; *s1; ++s1 )
{
if ( *s1 == *s2 && strncmp( s1, s2, len2 )==0 )
return (char *)s1;
}
return NULL;
}
相关文章推荐
- 自定义实现字符串处理函数 strlen strcmp strcpy strncpy strcat strncat strchr strstr
- strlen strcmp strcat strcpy strncpy strstr strchar函数的实现
- 模拟实现字符串操作函数(strcpy,strstr,strcat,strcmp,strlen)与内存操作函数(memcpy,memmove)
- 模拟实现 strcpy strcat strstr strcmp 函数
- strlen,strcpy,strncpy,strcmp,strcat,strstr的用法,函数原型及函数的实现
- 模拟实现函数库中的常用函数,1实现strcpy 2.实现strcat 3.实现strstr 4.实现strchr 5.实现strcmp 6.实现memcpy 7.实现memmove,8实现memset
- 模拟实现strcmp,strncmp,strstr,strcat,strncat,strcpy,strncpy,strlen ,memcpy,memmove等函数
- 模拟实现c库函数strcpy,strcat,strstr,strcmp,memcpy,memmove
- strcpy strlen memcpy strcat strcmp strstr strrev函数的实现代码
- 字符串处理函数的模拟实现(strlen、strstr、strcat、strcmp、strcpy、memmove、memcpy)
- 自定义实现字符串处理函数 strlen strcmp strcpy strncpy strcat strncat strchr strstr
- 模拟实现C库函数strcpy,strcat,strstr,strchr,strcmp,memcpy,memmove
- strcpy,strcat,strcmp,strstr 实现函数
- 和字符串有关的函数的模拟实现 strlen strcpy strcat strstr strcmp
- 几个常用函数的实现strcpy,memcpy,memmove,strcat,strcmp
- C语言字符串函数详解 strcpy、strcmp、strcat、strlen、strstr
- 自己实现memcpy/strcpy/strcmp/strcat/strlen/strstr
- strlen, strcpy, strcat, strcmp, memset... (字符串操作函数的实现)
- strcat,strcpy,strcmp,strstr,memset,memcpy,strsep在内核中的实现
- [C语言]strcat strstr strcpy strcmp strlen 的实现与使用