' schrieb:Dankeschön!!
ich melde mich am Wochenende nochmal, ob ich es hinbekomme oder noch Hilfe brauche
Wenn es wirklich nur ein festes Fromat ist dann funktioniert das was eg angegeben hat. Aber wenn die Flattened Data auch variable sized Elemente enthält (strings und arrays) wirds etwas komplizierter. Dann befindet sich vor diesen Elementen für jede Dimension noch ein int32 der die Anzahl der Elemente im Array oder String angibt.
Zudem normalisiert LabVIEW alle Daten beim Flatten/Unflatten/Casten zu/nach Big Endian (MSB first) Format. Da Du Dein C Programm wohl auf einer x86 Plattform schreiben willst wird die die Daten aber gerne im Little Endian (LSB first) Format sehen wollen. Also bei allen 16 bit integers noch die Bytes switchen und bei 32 bit integers zusätzlich auch noch die Words.
Und wenn die Daten noch in verschiedenen Formaten kommen können dann wirds echt kompliziert. Da gehe ich jetzt nicht weiter drauf ein. Ein guter Algorithmus sollte dann den Typedescriptor von der Flatten Funktion als Eingang bekommen und diesen parsen und die Daten dann schön gemäss dieser Formatbeschreibung auspacken. Das gibt einen schön komplizierten rekursiven Algorithmus.
Rolf Kalbermatter