字符串子串查找程序

判断一个字符串(dst)是否是另一个字符串(src)的子串;
输出子串在母串中的第一次出现的起始位置;
匹配的时候不区分大小写;
不能使用库函数(使用库函数按0分计算);
要求实现函数:
unsigned int str_str(char * src, char *dst); 返回:如果dst是src的子串 则返回起始位置 如果不是 则返回0 输入:src 指向母串的指针; dst 指向子串的指针 示例
src->akrsd5859 dst->rsd 则返回3 src->Rstsawerst36ds dst->rst 则返回8 src->dfsge dst-> dfsgesa 则返回0

#include #include #include using namespace std; unsigned int str_str(char * src, char *dst) { size_t m=strlen(src); size_t n=strlen(dst); string s1(src,src+m); string s2(dst,dst+n); if(n>m) return 0; else if(n<=m){ typedef string::iterator iter; iter begit=s1.begin(); iter endit=s1.begin()+n; int counts=0; while(endit+counts!=s1.end()){ string x(begit+counts,endit+counts); if(x==s2){return (counts+1); } else{ ++counts; }

    }


}

else {return 0;}

} int main() {char src[]="akrsd5859"; char dst[]="rsd"; unsigned int result; result=str_str(src,dst); cout<<"result="<<result<<endl;

return 0; }

全部评论

相关推荐

头像
04-09 14:29
Java
点赞 评论 收藏
转发
点赞 收藏 评论
分享
牛客网
牛客企业服务