Hallo! Eine eher generelle Frage, ob folgendes in C++ moeglich ist (bzw. wie man so etwas aehnliches erzielen kann): Ich muss Daten von der Festplatte lesen, die ein bestimmtes Layout haben, ein Mix aus short, int, float und double. Im Prinzip waere es relativ einfach, wenn das Layout stets das Gleiche waere, man koennte dann einfach einen statischen struct wie z.B. struct data { double xcoordinate; double ycoordinate; int counter; float attribute; }; definieren und sizeof(struct data) einlesen und haette direkt Zugriff auf alle Variablen (ggf. nach byte-swapping, da die Variablen u.U. als big endian abgelegt sind). So weit so gut. Dummerweise kommt es vor, dass manchmal die Reihenfolge der Variablen sich aendert und z.B. "attribute" vor "counter" kommt im obigen Beispiel. Ein statischer struct ist also nicht moeglich (es sei denn, man wollte das Programm stets neu compilieren, das ist aber aus praktischer Sicht nicht moeglich). Das Layout des struct kann ich einfach ueber eine XML Datei beschreiben (Variablen-Name, Typ, Byte-Offset, usw.). Es waere nun schoen, wenn man den struct quasi on-the-fly dynamisch definieren koennte zur Laufzeit. Ist so etwas in der Art moeglich? Meine momentane Loesung funktioniert, ist aber nicht all zu elegant: Die XML Datei wird geparst und es wird in einer Hash-Map abgespeichert, welche Variable an welchem Byte-Offset zu finden ist (z.B. Variable names "counter" ist vom Typ "int" und im obigen Beispiel bei Byte-Offset 16 bis 19 zu finden). Die Daten werden dann schlicht von Festplatte in den Speicher gelesen. Ueber eine Funktion kann dann jede Variable ausgelesen werden, wobei die Hash-Map befragt wird, an welchem Byte-Offset die Variable mit dem Namen sitzt (und welchen Typ sie hat, etc). Gibt es etwas eleganteres als Loesung? Danke fuer Ideen, Thomas -- To unsubscribe, e-mail: opensuse-programming-de+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-programming-de+help@opensuse.org