istringstream soll Komma als Trennzeichen nehmen
-
Hallo,
wie kann ich istringstream dazu bringen, dass er statt einem Leerzeichen ein ',' als Trennzeichen für fullname und score nehmen soll?
/* In der Datei steht: Voller Name und Punkte Stefan Mahler,100 /* std::string fullname, int score; std::ifstream filestream(datei); if (filestream.is_open()) { while (std::getline(filestream, line)) { std::istringstream linestream(line); linestream >>name>>score; } }
-
Was sagt denn die Doku zu
std::getline
?. Gibt es da möglicherweise eine Überladung mit drei Parametern wobei der letzte Parameter das Trennzeichen spezifiziert? Das wäre doch toll, oder?
-
@asd1 sagte in istringstream soll Komma als Trennzeichen nehmen:
if (filestream.is_open()) { while (std::getline(filestream, line))
So wie das da steht ist die
if
-Schleife sinnlos.Generell: Fail Fast
-
@DocShoe
Hatte ich auch schon versucht, aber das hat auch nicht funktioniert. Es wird nur der Vorname genommen, also der String vor dem Leerzeichen.std::getline(filestream, line, ','); std::istringstream linestream(line); linestream >>name; std::cout <<name;
-
@asd1 sagte in istringstream soll Komma als Trennzeichen nehmen:
@DocShoe
Hatte ich auch schon versucht, aber das hat auch nicht funktioniert. Es wird nur der Vorname genommen, also der String vor dem Leerzeichen.std::getline(filestream, line, ','); std::istringstream linestream(line); linestream >>name; std::cout <<name;
Einenm Moment. Ich glaube, ich habe es gleich.
-
Du kannst die Tokenisierung eines Eingabe-Streams beeinflussen.
-
@asd1 Warum benutzt du überhaupt den stringstream? Versuch doch mal, direkt den Namen aus der Datei zu lesen!