Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » merkwürdiges zum thema fwrite

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
19.11.2006, 16:08 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


Hi,
hab folgendes merkwürdiges Problem:


C++:
unsigned int x = 0x2c4e0000;
fwrite(&x, 1, 4, file);



in der Datei steht dann nicht etwa 2c 4e 00 00 drin, sondern 00 00 2c4e. Warum dreht der A... das um????


C++:
struct
{
  char a[2];
  unsigned int x;
  unsigned int y;
  unsigned int z;
} a = { {'A','B'}, 0, 0, 0x2c4e0000 };
fwrite(&a, 1, 14, file);



in der Datei steht dann

'A' 'B' 00 00 00 00 00 00 00 00 00 00 00 00

Wo ist das 2c4e hinverschwunden????????????

Wenn ich


C++:
struct
{
  char a[2];
  unsigned int x;
  unsigned int y;
  unsigned int z;
} a = { {'A','B'}, 0, 0, 0x00002c4e };
fwrite(&a, 1, 14, file);



kommt dann

'A' 'B' 00 00 00 00 00 00 00 00 00 00 2c 4e

raus.

Warum schreibt er das eine falsch (bzw beides)????

Ich werd hier noch verrückt damit.
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
19.11.2006, 16:55 Uhr
Blubber2063



Also die Reinfolge wird an der Byteorder liegen, aber komischerweise kann ich dein 0 schreiben Problem reproduzieren, kA woran das liegt.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
19.11.2006, 17:16 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


Ok,
hab rausgefunden woran das 0-byte schreiben liegt: der alignt das struct auf 4byte, d.h a wird auf 4 byte expandiert -> die letzten 2 byte des verdrehten ints werden nicht mehr geschrieben.

Das erste Problem hab ich nun begriffen, LittleEndian heißt ja LOWORD HIWORD, das war mein denkfehler.
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (WinAPI, Konsole) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: