Non riesco a capire perchè non mi funziona questa funzione:
void Processore::DividiFrasi(){
int helper = 0;
for(unsigned int i=0; i<input.size(); i++){
if(input[i]=='.' || input[i]=='?' || input[i]==';' || input[i]=='!' || input[i]==',') {
indici.push_back(i+1);
}
}
for(unsigned int i=0; i<=indici.size(); i++){
frasi.push_back(input.substr(helper, indici[i] - helper));
helper = indici[i];
}
if(DEBUG) StampaFrasi();
for(unsigned int i=0; i<=frasi.size(); i++) replace(input,frasi[i], "");
if(input.size() > 0) frasi.push_back(input); // PERCHÈ SE NON FINISCE CON LA PUNTEGGIATURA TRALASCIA LA PARTE FINALE DELLA FRASE
if(DEBUG) StampaFrasi();
}
Dovrebbe dividere una stringa (string input) in più frasi quando incontra ".",",",";","?","!", e salvare le varie frasi in un vettore (vector<string> frasi)