点8过不了,输入字符能完全输出,但是长度计算少了一半多
查看原帖
点8过不了,输入字符能完全输出,但是长度计算少了一半多
332262
Sukidayo楼主2020/8/22 10:59

点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;
}
2020/8/22 10:59
加载中...