STL给了find函数,可以用啊。
by scp020 @ 2023-02-28 20:25:31
**试试我这样行吗,思路在下方**
```cpp
#include <iostream>
#include <string>
//命名空间
using namespace std;
int main(){
//定义两个字符串
string a;
string b;
//用string库,调用getline, 直接读入一整行
getline(cin,a);
getline(cin,b);
//转换大小写,可以都转换为大写,或者小写
for (int i=0;i<a.length();++i){
a[i]=tolower(a[i]);
}
for (int i=0;i<b.length();++i){
b[i]=tolower(b[i]);
}
//因为连起来的不算,所以要在前后加几个空格,一定要是同样多的,同量减同量,等于同量
a=' '+a+' ';
b=' '+b+' ';
//先看看会不会找不到,用a.find()和string::npos
if (b.find(a)==string::npos){
cout<<-1<<endl;
}
//如果找得到
else {
int alpha=b.find(a);
int beta=b.find(a),s=0;//计数器初始化为0
while (beta!=string::npos){
++s;//计数器
beta=b.find(a,beta+1);
}
cout<<s<<" "<<alpha<<endl;//输出第一个和总共有几个
}
//函数返回值为0,结束整个程序
return 0;
}
```
by juchenglin @ 2023-02-28 20:25:42
@[Mark_666](/user/632830)
```cpp
if(find[i]>='A'&&find[i]<='Z')
find[i]-=32;
```
大神!'a'和'A'怎么互相转换啊??!!
by Rieman_sum @ 2023-02-28 20:41:36
@[Guo1](/user/743879) 记错了。。。。
by Mark_666 @ 2023-02-28 20:43:37
@[scp020](/user/553625) 具体怎么使用啊
by Mark_666 @ 2023-02-28 20:44:17
@[juchenglin](/user/580868)
string::npos是什么意思啊
by Mark_666 @ 2023-02-28 20:49:12
@[Mark_666](/user/632830) CSDN上又,可以自己查一下。
by scp020 @ 2023-02-28 20:54:43
@[Mark_666](/user/632830) npos是没找到的意思
by scp020 @ 2023-02-28 20:55:00
@[Mark_666](/user/632830)
npos 就是没有找到位置,no position,缩写。 find函数查找,没找到就返回-1。 为了兼容c++各个版本,就写string::npos
by homi @ 2023-03-02 07:54:07
@[juchenglin](/user/580868)
a=' '+a+' ';
b=' '+b+' ';
啥意思
by wing_yhc @ 2023-05-11 17:09:06