点8长度1000000,但是我getline后str.length()只有40000多,可是cout却能完整输出str,求救!
#include<bits/stdc++.h>
using namespace std;
int main(){
string s,str;
int pos=0,ans=0;
cin>>s;
getchar();
getline(cin,str);
transform(s.begin(),s.end(),s.begin(),::tolower);
transform(str.begin(),str.end(),str.begin(),::tolower);
cout<<str;
int i=0,j=1,k=0;
int addr[100000]={0};
cout<<str.length();
while(i<str.length()){
k=str[i];
if(k==32){
addr[j]=i+1;
cout<<i<<endl;
j++;
}
i++;
}
i=0;
string temp;
bool key=false;
while(i<j){
temp=str.substr(addr[i],addr[i+1]-addr[i]-1);
if(temp==s){
ans++;
if(!key){
pos=addr[i];
key=true;
}
}
i++;
}
cout<<j;
if(ans==0){
cout<<-1;
return 0;
}
cout<<ans<<" "<<pos;
return 0;
}