I want to re-arrange a text file from one format to another. For a smaller size .txt file, the code works perfect but for a larger one, I get the error on the picture. Can someone please share some light on how to solve this error?
我的主要功能如下:
int main() {
ifstream input;
ofstream output;
char filename[100];
cin.getline(filename,100);
input.open(filename);
string str;
vector<string> event;
while(getline(input,str)){
if(str[1]!='-'){
event.push_back(str);
}
else{
if(!event.empty()){
getMax(event);
}
}
}
//event.clear();
cout << "Hello" <<endl;
//Creating the header for output file
string hstring = "";
for(int i=1;i<BjetMax+1;i++){
for(int j=1;j<5;j++){
hstring = hstring + "Bjet" + to_string(i) + to_string(j) + ",";
}
}
for(int i=1;i<LeptonsMax+1;i++){
for(int j=1;j<4;j++){
hstring = hstring + "Leptons" + to_string(i) + to_string(j) + ",";
}
}
for(int i=1;i<LightjetMax+1;i++){
for(int j=1;j<5;j++){
hstring = hstring + "Lightjet" + to_string(i) + to_string(j) + ",";
}
}
hstring += "MET";
output << hstring << endl;
cout << hstring << endl;
input.close();
input.open(filename);
cout << "BjetMax " << BjetMax << endl;
cout << "LightjetMax " << LightjetMax << endl;
cout << "LeptonsMax " << LeptonsMax << endl;
while(getline(input,str)){
if(str[1]!='-'){
event.push_back(str);
}
else{
if(!event.empty()){
getCount(event);
sort(event.begin(),event.end());
event = removeNotDigits(event);
output<< makeLine(event) << endl;
event.clear();
}
}
}
input.close();
output.close();
return 0;
}