Einzelnen Beitrag anzeigen

Reinhard Kern

Registriert seit: 22. Okt 2006
772 Beiträge
 
#4

Re: Record mit variabler Länge

  Alt 19. Dez 2009, 00:41
Hallo,

ich würde eine Klasse konstruieren mit einem variablen array of byte für den record. Zuerst die ersten paar Bytes lesen und die Länge entnehmen, dann Array-Länge setzen und den ganzen Record lesen.

Zum Zugriff arbeitet man am besten mit Pointern wie in C und schreibt eine Methode für jeden Typ Descriptor, die sich an den gegebenen Pointern entlanghangelt und einen Pointer auf den gewünschten Descriptor zurückliefert. Das funktioniert auch im allgemeinsten Fall: in TTF-Dateien z.B. können Details wie Namen oder Glyphen im Prinzip irgendwo stehen - es gibt nur eine Headertabelle mit Pointern dahin, und dort stehen dann oft Sub-Tabellen mit Pointern. Wenn man es braucht, kann man auch die ganzen Daten in eine Baumstruktur einlesen, aber das lohnt sich nicht, wenn man nur ein bestimmtes Detail braucht.

Gruss Reinhard
  Mit Zitat antworten Zitat