Ho un codice per leggere i file con numeri float sulla linea memorizzati in questo modo: "3.34 | 2.3409 | 1.0001 | ... | 1.1 |". Vorrei leggerli utilizzando istringstream, ma non funziona come ci si aspetta:C++ - ripetutamente usando istringstream
string row;
string strNum;
istringstream separate; // textovy stream pro konverzi
while (getline(file,row)) {
separate.str(row); // = HERE is PROBLEM =
while(getline(separate, strNum, '|')) { // using delimiter
flNum = strToFl(strNum); // my conversion
insertIntoMatrix(i,j,flNum); // some function
j++;
}
i++;
}
Al punto marcato, fila viene copiato nel flusso separato solo la prima volta. Nella prossima iterazione non funziona e non fa nulla. Mi aspettavo che fosse possibile utilizzarle più volte senza dover costruire un nuovo oggetto istringstream in ogni iterazione.
Grazie mille. Questa è un'informazione molto importante che mi mancava in molti codici;) – Naomak
In realtà deve essere dopo? Penso che puoi chiarirlo anche prima. – CashCow