Portierungsprobleme fread/fwrite

Diskutiere mit über: Portierungsprobleme fread/fwrite im Mac OS X Entwickler, Programmierer Forum

  1. H.Stony

    H.Stony Thread Starter MacUser Mitglied

    Beiträge:
    552
    Zustimmungen:
    0
    Registriert seit:
    27.03.2004
    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
     
  2. k3rn3lpanic

    k3rn3lpanic MacUser Mitglied

    Beiträge:
    83
    Zustimmungen:
    0
    Registriert seit:
    05.04.2005
    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: 20.05.2005
  3. H.Stony

    H.Stony Thread Starter MacUser Mitglied

    Beiträge:
    552
    Zustimmungen:
    0
    Registriert seit:
    27.03.2004
    aha danke.
     
  4. H.Stony

    H.Stony Thread Starter MacUser Mitglied

    Beiträge:
    552
    Zustimmungen:
    0
    Registriert seit:
    27.03.2004
    wenn ich aber characters speichern würde, würde dies nichts ausmachen. richtig?
     
  5. H.Stony

    H.Stony Thread Starter MacUser Mitglied

    Beiträge:
    552
    Zustimmungen:
    0
    Registriert seit:
    27.03.2004
    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?
     

Diese Seite empfehlen

Benutzerdefinierte Suche