FAT16 und Ordnerverwaltung

Gast #613472
Lesenswert?
• ▲
▼
Hallo mein Lieblingsforum,
habe ein Problem, und zwar will ich gespeicherte Daten auf einer 1GB 
grossen SD-Karte auslesen, welche in Ordner sortiert sind.
Nun ist mein Problem das wenn ich ohne Ordner arbeite, alles kein 
Problem ist(durch ROOT-Directory gehen und Dateien raussuchen).
Jedoch kapier ich nicht wie ich die Ordner auf dem Medium finde und die 
dazugehörigen Dateien???
Vielen Dank im voraus und Gruss, fubu.
Persönliche Seite #613520
Lesenswert?
• ▲
▼
Nun, ein Verzeichnis kannst Du ja schon mal lesen (das Root-Directory).

Zu jedem Verzeichniseintrag wird ein Attribut gespeichert, und ein Bit 
davn weist darauf hin, daß die betreffende Datei wiederum ein 
Verzeichnis ist.

Um nun herauszufinden, welche Dateien im betreffenden Verzeichnis sind, 
musst Du Dir genauso wie beim Lesen einer Datei aus dem 
Verzeichniseintrag die Cluster-Kette bestimmen, Cluster für Cluster 
lesen und die gelesenen Daten exakt genauso interpretieren wie das 
Root-Directory.

Ja, das ist rekursiv.
Gast #613695
Lesenswert?
• ▲
▼
hallo,
nur damit ichs richtig verstehe ich suche z.B. nach dem Ordner 
"ORDNER1".
1.)Also schaue ich in der ROOT- Directory nach dem Wort "ORDNER1".
   Darin  ist dann ein Bit gesetzt, welches mir anzeigt, das dies ein
   Verzeichnis ist(welches Bit???, wahrscheinlich eins in den 
Dateiattri-
   buten, aber welches, ARCHIVE-BIT???).

2.)Byte 27 und 28 von der ROOT-Directory zeigen mir an wo das erste 
Cluster
   ist und 29-32, die Grösse des Ordners "ORDNER1"(wobei ich mich noch
   frage, ob die anzahl der dateien in der Grösse stehen, oder die wirk-
   liche Grösse des ORDNERS1???)

3.)Lese die Clusterkette ,die mir Byte 27 und 28 der ROOT-Directory 
vorge-
   geben haben nun aus. Dies sind nun die Stellen in der ROOT-Directory, 
wo
   die Dateien des Ordners sind, oder versteh ich das falsch???

3.1.)oder ich lese die Clusterkette aus und schau dann in Datenbereich 
mir
    die entsprechenden Einträge an und behandle diesen Datenbereich wie
    die ROOT-Directory Einträge, also immer 32byte=ein 
Verzeichniseintrag??

Schonmal vielen Dank im voraus, Gruss fubu.
Persönliche Seite #613721
Lesenswert?
• ▲
▼
Nein, nicht das Archiv-Bit, sondern das Directory-Bit.


  read-only: 01
  hidden:    02
  system:    04
  directory: 10
  archive:   20

Die Größenangabe ist die Größe des Verzeichnisses, also die Anzahl der 
enthaltenen Dateien mal der Größe eines Verzeichniseintrages (32 Bytes).

Was Du unter 3. liest, ist das Verzeichnis, NICHT die im Verzeichnis 
enthaltenen Dateien. Du musst das also wie in 3.1 behandeln.

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.