strstr实现

自己实现的很不好:

char* str_str(const char* s1,const char* s2)
{
	assert(s1 != NULL && s2 != NULL);

	while(*s1++ != '\0')
	{
		if(strncmp(s1,s2,strlen(s2))==0)
		{
			return (char*)s1;
		}
	}
	return NULL;
}
另一个版本VC++2005:

char *strstr (const char * str1, const char * str2)
{
    char *cp = (char *) str1;
    char *s1, *s2;

    if( !*str2 )
        return((char *)str1);

    while(*cp)
    {
          s1 = cp;
          s2 = (char *) str2;

          while ( *s1 && *s2 && !(*s1-*s2) )
                s1++, s2++;

          if (!*s2)
                return(cp);
          cp++;
    }
    return (NULL);
}
Do not complain about things you are not willing to work hard to change.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值