strstr()函数就是用来判断这个的
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int fuck(char *str1,char *str2)
{
char *str=str1;
int ans=0;
int len=strlen(str2);
while((str=strstr(str,str2))!=NULL)
{
ans++;
str+=len;// 若不知为什么见下图
}
return ans;
}
int main()
{
char a[1100],b[1100];
while(scanf("%s",a)!=EOF)
{
if(a[0]=='#')
return 0;
scanf("%s",b);
printf("%d\n",fuck(a,b));
}
return 0;
}
百度百科上 strstr() 函数的用法
语法:
1
|
*
strstr
(str1,str2)
|
str1: 被查找目标 string expression to search.
str2: 要查找对象 The string expression to find.
返回值:若str2是str1的子串,则先确定str2在str1的第一次出现的位置,并返回此str1在str2首位置的地址。;如果str2不是str1的子串,则返回NULL。
例子:
1
2
3
|
char
str[]=
"1234xyz"
;
char
*str1=
strstr
(str,
"34"
);
cout << str1 << endl;
|
显示的是: 34xyz