您的位置:首页 > 其它

字符串匹配[原始方法]

2016-03-20 09:17 387 查看
题目:源串="abcabcabcababcabcabcababcabcab",目标串="abc",求目标串在源串中出现多少次?
这题相对比较简易,用的是原始方法,调用strstr()函数,如果找到目标串,函数返回出现目标串位置的首地址,下一步再将这个指针+1转移到strstr()函数中进行下一轮的匹配。虽然简易,但也是一种匹配方法,所以记录下来。

char *strstr(char *源串,char *目标串);


/*---------完整代码@映雪----------*/

#include <iostream>
using namespace std;
int main()
{
char * trace="abc";/*目标串*/
char *str="abcabcabcababcabcabcababcabcab";/*源串*/

char *p;/*中转指针*/
int n=0;/*串出现的次数*/
do
{
if((p=strstr(str,trace))!=NULL)/*查找到串*/
{
++n;/*计数加1*/
str=++p;/*前移一位*/
}
}while(p);
cout<<"字符串"<<trace<<"出现"<<n<<"次"<<endl;
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: