003
25.07.2004, 21:15 Uhr
Hans
Library Walker (Operator)
|
Hi Windalf,
wenn Du da schon auf Bitebene herum turnst, dann doch mal sowas:
C++: |
union { int *xwidth; char pic_width[4]; } bmp_width;
|
könnte zwar umständnlich werden, weil Du da schon mit Strukturdaten zu tun hast, aber der Vorteil, oder meiner Ansicht nach der Sinn einer union ist ja gerade der, das man deren Elemente als unterschiedliche Daten interpretieren kann.
Ein Beispiel zum umgang mit unions findest Du, wenn Du mal die Suchfunktion bemühst, oder auch mal das Archiv vom alten C++ Forum (Parsimony) durchsuchst. Da müsstest Du ein Programm finden, das mit Hilfe einer union aus einer Reihe von Float-Zahlen einen Text baut, indem erst eine Zahl als float in die union gelesen wird, und anschliessend die einzelnen Bytes als char wieder ausgegeben werden.
Bezüglich der Endian-geschichte, die (un)wissender angesprochen hat, sollte es dann ja auch kein Problem mehr sein, die Bytefolge entsprechend zu verdrehen.
Hans -- Man muss nicht alles wissen, aber man sollte wissen, wo es steht. Zum Beispiel hier: Nachdenkseiten oder Infoportal Globalisierung. Dieser Post wurde am 25.07.2004 um 21:18 Uhr von Hans editiert. |