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?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage