Portierungsprobleme fread/fwrite

H

H.Stony

Aktives Mitglied
Thread Starter
Dabei seit
27.03.2004
Beiträge
562
Reaktionspunkte
0
das kann doch wohl nicht wahr sein. heute habe ich wieder mal mein spiel für windows compilien wollen. und sieh da: mit fwrite geschriebene Dateien auf meinem imac können auf dem pc mit fread nicht richtig gelesen werden. DAS KANN DOCH NICTH WAHR SEIN.....sizeof(int) auf meinem imac ist gleich wie auf windows

ich benutze XCode und ein ConsoleTool. GCC3.3 sowhol GCC4.0 das gleiche problem. hat jemand in diesem gebiet schon erfahrungen gemacht??


danke h.stony
 
Das was Du da schreibst, stimmt. Und es kommt daher, dass jeder Mac (oder besser, jeder Rechner mitm PowerPC) die Big-Endian-Konvention nutzt, alles was x86 heisst dagegen Little Endian.

Mehr Infos dazu hier

Du könntest fwrite(), fread(),... wrappen, damit er immer in der "richtigen" Reihenfolge liest und schreibt, also quasi eine Einigung auf Little oder Big Endian, es gibt allerdings sicherlich bereits Libs, die das für Dich erledigen.
 
Zuletzt bearbeitet:
aha danke.
 
wenn ich aber characters speichern würde, würde dies nichts ausmachen. richtig?
 
fwrite(), fread(),... wrappen...

wie würdest du die bytes vertauschen? finde irgendwie nichts wirklich annehmbares. ich möchte bei big endian bleiben aber den pc irgendwie dazu bringen, immer richtig zu lesen. hat sich hier jemand schon mit sowas beschäftigt?
 
Zurück
Oben Unten