Ich möchte Zeilen aus einer Textdatei lesen, die das folgende Format haben: a r3, r2, r1
und ich möchte dies in einzelne Teile aufteilen, so habe ich eine Variable, die a, r3, r2 und enthält r1 einzeln, also muss ich den whitespace und das Komma entfernen. Ich bin mir nicht sicher, wie ich das machen soll. Ich habe gesucht um, kann aber nur Beispiele (wie this) mit vordefinierten Zeichenkette finden.Parsing und Split von einer Textdatei
Ich weiß, wie in einem Text aus einer Datei und legen Sie sie in ein char-Array zu lesen, aber ich würde im Idealfall jedes Element einer Zeile in eine eigene Variable platzieren möchten.
So etwas wie:
#include <iostream>
#include <string>
#include <fstream>
using namespace std;
void main()
{
string var1, var2, var3, var4;
ifstream inFile("myfile.txt");
if (inFile.is_open()){
while (!inFile.eof()){
inFile >> var1 >> var2 >> var3 >> var4;
}
}
}
aber wo es behandelt Leerzeichen, Kommas und neue Linien. Irgendwelche Vorschläge, wie man das macht?
Zu allererst [tun dies nicht: 'while (! InFile.eof())'] (https://stackoverflow.com/questions/5605125/why-is-iostreameof-inside- a-loop-bedingung-als falsch angesehen. – WhozCraig
'string.replace()?' Komma durch leere-ness. Oder noch besser 'string.erase()' das Komma. 'string.pop_back()' das letzte Zeichen? –