SD-Card: Letzte Zeile einer Textdatei auslesen

Gast #1850078
Lesenswert?

Hallo,

ich bastel gerade an einem Datenlogger rum. Dieser speichert die 
gesammelten Daten auf einer SD-Karte in einer Textdatei. Jeder 
Datensatzt wird in einen Zeile geschrieben.

Ich benutze die LIB von Holger Klabunde.

Nun würde ich gerne beim wiedereinschalten des Datenloggers die letzte 
Zeile einlesen und mit diesen Werten weiterarbeiten. Das es sich aber um 
mehrer Hundtertausend Zeilen handel, kann dauert es sehr lange, die 
Datei komplett zu lesen.

Ich möchte letzten Daten auch nicht im µC speicher, da verschiedenen 
SD-Karten zum einsatzt kommen und immer mit den jeweileigen Daten 
gearbeitet werden soll.

Gibt es einen Möglichkeit direkt zur letzten Zeile der Datei zu 
springen?

Danke für eure Hilfe!

Gruß
Mark
Gast #1850287
Lesenswert?

>Gibt es einen Möglichkeit direkt zur letzten Zeile der Datei zu
>springen?

Du könntest es mit Fseek() versuchen. Beispiel:

     Fseek(-128,SEEK_END); // Gehe zu Dateiende - 128 Bytes

Dann wird nicht jeder Sektor bis zum Dateiende gelesen.
Gast #1850339
Lesenswert?

>OK. Wo finde ich den die Funktion Fseek()?

Wie alt ist deine Version der LIB? Fseek() ist schon
seit 2007 drin. Gab Anfang dieses Jahres noch einen Bugfix
zu Fseek(). Also zieh dir mal ne neue Version.
Gast #1994992
Lesenswert?

Lang ist's her ...

holger schrieb:
> Wie alt ist deine Version der LIB? Fseek() ist schon
> seit 2007 drin. Gab Anfang dieses Jahres noch einen Bugfix
> zu Fseek(). Also zieh dir mal ne neue Version.


Ich hab mir die neue Version gezogen.

Nun bekomme ich die Meldung:
1
../dir.c:171: undefined reference to `ReadSector'
2
dir.o: In function `ScanOneDirectorySector':

Kann es sein, dass die dir.h fehlt?

Gruß
Mark

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren