Unrue
10-01-2008, 09:29
Ciao ragazzi,
sto usando un vector di string per acquisire le righe di un file. Ora,questo file ha 39370 righe. Solo che, una volta pienato il vector, la size() me ne conta una in più! Questo è il codice(solo le parti rilevanti):
vector<string> vettore_stringhe;
int example =1;
while(!dati_ascii.eof())
{
cout << " Esempio : " << example << endl;
getline (dati_ascii,line);
vettore_stringhe.push_back(line);
line.clear();
example++;
}
cout << "size " <<vettore_stringhe.size()<< endl;
:confused: Infatti,quando poi vado ad estrarre delle sottostringhe, arrivata all'ultima mi si impalla e schianta.
Poi un altro dubbio: che differenza c'è tra line.clear() e line.erase() ? Thanks
sto usando un vector di string per acquisire le righe di un file. Ora,questo file ha 39370 righe. Solo che, una volta pienato il vector, la size() me ne conta una in più! Questo è il codice(solo le parti rilevanti):
vector<string> vettore_stringhe;
int example =1;
while(!dati_ascii.eof())
{
cout << " Esempio : " << example << endl;
getline (dati_ascii,line);
vettore_stringhe.push_back(line);
line.clear();
example++;
}
cout << "size " <<vettore_stringhe.size()<< endl;
:confused: Infatti,quando poi vado ad estrarre delle sottostringhe, arrivata all'ultima mi si impalla e schianta.
Poi un altro dubbio: che differenza c'è tra line.clear() e line.erase() ? Thanks