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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.