#include<bits/stdc++.h>
using namespace std;
int main() {
int times = 0;
int address = 0;
string word;
string str;
getline(cin, word);
getline(cin, str);
for (int i = 0; i < word.length(); i++) {
if (word[i] >= 'A' && word[i] <= 'Z')
word[i] += 'a' - 'A';
}
for (int i = 0; i < str.length(); i++) {
if (str[i] >= 'A' && str[i] <= 'Z')
str[i] += 'a' - 'A';
}
word = ' ' + word + ' ';
str = ' ' + str + ' ';
address = str.find(word);
if (address == -1)
cout << -1 << endl;
else {
int startadd = address;
int endadd = address;
int temp = 0;
while (endadd != -1) {
temp++;
endadd = str.find(word, endadd + 1);
}
cout << temp << " " << startadd << endl;
}
system("pause");
return 0;
}
主要是用到了之前书上学的s.find(str,[pos])的函数
getline()函数:将完整一行的输入数据读入到字符串中,无论这一行中是否有空格。cin是指输入流
将给定单词前后加一个空格防止函数将文章中的子串认成是单词