Używanie getline z CSV

Spędziłem prawie 4 godziny próbując ominąć ten problem ...

Mam plik tekstowy zawierający ponad 100 wierszy. Każdy wiersz ma 4 wartości oddzielone przecinkami. Chcę móc wyodrębnić każdą wartość i zapisać ją w zmiennej (v1 ... v4).

Użyłem pętli for, ponieważ nie będę czytał całej zawartości pliku. Po prostu staram się na razie pracować 1.

Do tej pory udało mi się odczytać pojedynczy wiersz. Muszę teraz przerwać rząd. To jest dla mojego przydziału Uni i nie mogę używać żadnych klas boost ani tokeniserów. Po prostu getline i inne podstawowe polecenia.

Mam ten kod:

// 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();

Błąd, który otrzymuję, to: błąd: brak funkcji dopasowania dla wywołania „getline (std :: string &, std :: string &, const char [2])

Jak mogę to naprawić?

questionAnswers(4)

yourAnswerToTheQuestion