Getline mit CSV benutzen
Ich habe fast 4 Stunden damit verbracht, über dieses Problem hinwegzukommen ...
Ich habe eine Textdatei mit über 100 Zeilen. Jede Zeile enthält 4 durch Kommas getrennte Werte. Ich möchte jeden Wert extrahieren und in einer Variablen speichern können (v1 ... v4).
Ich habe eine for-Schleife verwendet, da ich nicht den gesamten Inhalt der Datei lesen werde. Ich versuche nur, 1 zum Arbeiten zu bringen.
Bisher habe ich es geschafft, eine einzelne Zeile zu lesen. Ich muss jetzt nur die Reihe aufbrechen. Dies ist für meine Uni-Aufgabe und ich darf keine Boost- oder Tokeniser-Klassen verwenden. Nur getline und andere grundlegende Befehle.
Ich habe diesen Code:
// Read contents from books.txt file
ifstream theFile("fileName.txt");
string v1, v2, v3, v4, line;
for (int i = 0; i < 1; i++) {
getline(theFile, line, '\n');
cout << line << endl; // This part works fine
getline(line, v1, ","); // Error here
cout << v1 << endl;
getline(line, v2, ","); // Error here
cout << v2 << endl;
getline(line, v3, ","); // Error here
cout << v3 << endl;
getline(line, v4, '\n'); // Error here
cout << v4 << endl;
}
theFile.close();
Der Fehler, den ich erhalte, ist - Fehler: Keine passende Funktion für den Aufruf von "getline" (std :: string &, std :: string &, const char [2])
Wie kann ich das beheben?