Georg M. schrieb:
> Jetzt würde ich gerne einzelne Zeilen wieder auslesen.
Du hast eine Funktion, die 1 Byte von dem SD-Stream einlist.
Dann wirst du dir wahrscheinlich als erstes mal eine Funktion bauen
müssen, die dir eine komplette Zeile vom Stream einliest.
Was ist eine Zeile?
Eine Zeile ist eine Abfolge von Bytes, an deren Ende ein \n steht. D.h.
du liest solange Bytes ein, solange welche vorhanden sind UND solange
das Zeichen kein \n war. Das jeweils gelesene Byte fügst du zu deinem
String hinzu, in dem die gelesene Zeile entsteht. Ist eine der beiden
Bedingungen nicht mehr erfüllt, dann hast du eine komplette Zeile
gelesen und diese als String im Speicher zusammengebaut. Mit dem String
verfährst du dann weiter und zerlegst ihn entsprechend.
Alternativ kann man auch das Lesen bzw. Zerlegen in Einzelteile auch in
einem Aufwasch machen, was oft der Speicherbelastung zu Gute kommt.
Aber als Anfänger würde ich dir empfehlen, die beiden Aufgabenstellungen
erst mal voneinander zu trennen.
Die Standard-C Funktion zum Einlesen einer Zeile sieht beispielsweise im
Interface so aus
char* fgets( FILE* stream, char* buffer, size_t sizeOfBuffer )
Dein Job ist es jetzt, eine gleichwertige Funktion für deine SD-Library
zu schreiben.
>
> Hat da jemand schon Erfahrung und könnte mir Helfen?