#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
const int maxn = 1004;
char str[maxn], str1[maxn];
int main()
{
while (cin >> str)
{
if (str[0] == '#')break;
int len = strlen(str);
cin >>str1;
int len1 = strlen(str1);
char *k = str;
char *p;
int count = 0;
while ((p=strstr(k,str1)) != 0)
{
count++;
k = p+len1;
}
printf("%d\n",count);
}
return 0;
}
此题主要是strstr()函数的应用!(据说也可以用KMP来做,但是我还没学)
包含文件:string.h
函数名: strstr
函数原型:extern char *strstr(char *str1, char *str2);
功能:从字符串str1中查找是否有符串str2,如果有,从str1中的str2位置起,返回str1的指针,如果没有,返回null。
返回值:返回该位置的
指针,如找不到,返回空指针。
例子: char str[]="1234 xyz";
char* str1=strstr(str,"34");
cout<<str1<<endl;
显示: 34 xyz