C++中 string 类的 find 函数
string s; s.find(a, b); //a是子串,s是主串,b是起始位置
表示以主串的 b 位置为起始位置返回子串出现第一次的位置,如果没有出现返回-1.
#include<cstdio> #include<cstring> #include<cmath> #include<iostream> #include<algorithm> #include<vector> #include<map> #include<queue> #include<stack> #include<string> using namespace std; int main(){ // freopen("a.txt", "r", stdin); string a, b; while(cin>>a && a[0]!='#'){ cin >> b; int flag = 0, ans = 0; while(1){ flag = a.find(b, flag); if(flag != -1){ flag += b.length(); ans++; }else break; } cout <<ans << endl; } return 0; }