Jatzt habe ich aber eine CSV-Datei bekommen, die nicht einen Datensatz per Zeile hat, sondern immer wieder auch mal eine Zeile, bei der der Inhalt eines Feldes mehrzeilig ist.
Als Beispiel:
1|2|3|4
a|b|c|d
pi|mal
daumen
ist prima|na|sowas
q|w|e|rWie lese ich denn die ein?
So, wie bisher auch, nur, dass du die Suche nach dem Datensatzende selbst übernehmen musst, anstatt eine Funktion zu nutzen, die ganze Zeilen zurückgibt (lies: selbst nach dem Zeilenende sucht):
1. Datensatz anlegen
2. Spaltenzeiger auf Spalte 1
3. Ein Zeichen lesen
4. a) Falls Dateiende, dann Datensatz speichern und Programmende
b) Falls |, dann Spaltenzeiger auf nächste Spalte
ba) Falls Spaltenzeiger > Spaltenanzahl, dann Datensatz speichern und weiter bei 1.
c) Falls nicht |, dann Zeichen an aktuelle Spalte anhängen
3. Weiter bei 3.
Ganz einfach.