Problem mit stringstream
-
Hallo,
ich habe ein kleines Problem mit der Klasse stringstream:
Ich lege ein Objekt an:std::stringstream inout; char line[clLogLine];Dann schreibe ich etwas hinein und lese es mit getline wieder aus:
inout << "TrainDataOraHandler::insertTrainTripData - Inserting data for train ID " << pSbNd->trainID; inout.getline(line, clLogLine); AMLOG (cModAM_TrainData, cDebStd, line);Funktioniert so weit. Mache ich dies ein zweites Mal auf das selbe Objekt, liefert getline() aber einen Leerstring zurueck:
inout << "TrainDataOraHandler::insertMessage - Message insertion succeeded.\n"; inout.getline(line, clLogLine); AMLOG (cModAM_TrainData, cDebStd, line);Warum funktioniert der zweite Vorgang nicht?
Danke fuer Hinweise und viele Gruesse - Ulrich
-
PS: Lege ich ein zweites stringstream-Objekt an und mache den zweiten Vorgang auf dieses Objekt, funktioniert es:
inout2 << "TrainDataOraHandler::insertMessage - Message insertion succeeded.\n"; inout2.getline(line, clLogLine); AMLOG (cModAM_TrainData, cDebStd, line);
-
Fehlt beim ersten nicht noch das Zeilenende?
-
Funktioniert aber.
-
Hallo Fellhuhn,
ich habe jetzt mal das Zeilenende beim ersten Abschnitt ergaenzt und damit funktioniert es. Vielen Dank fuer den Hinweis!
Viele Gruesse - Ulrich