Zum Inhalt springen

Probleme mit fread/fwrite


stranger4u

Empfohlene Beiträge

Hi,

ich habe ein ziemlich großes Problem mit dem Lesen und Schreiben von Dateien. Und zwar schreibe ich mit fwrite den Inhalt einer Struktur in eine Datei. Diese wird dann vom Hauptprogramm mit fread gelesen. Klappt auch wunderbar. Aber wenn ich dann die geschrieben Datei + Hauptprogramm auf anderen Rechnern ausprobiere klappt das auslesen bei manchen nicht richtig, viele Werte sind dann einfach falsch. Z.B. wird aus 4.0 in der Datei 0.0 in der Struktur.

In einem anderen Forum sagte man mir, das könne an der CPU liegen und ich solle mich #pragme pack(1) das Byte alignment ändern. Habe das versucht, es geht aber immer noch nicht.

Wenn ich die Datei zum Erstellen der Datei mit den Struktur Daten auf den besagten Rechnern ausführe, die die Datei nicht lesen konnten, dann können diese auf einmal wunderbar die Daten auslesen. Es scheint also wirklich an der CPU oder der Art, wie diese Daten auf dem REchner gelesen/geschrieben werden zu liegen.

Kann man das irgendwie umgehen? Warum muß ich mich übgehaupt selber darum kümmern? Wie sieht es mit C++ Dateistreams aus? Würden die den gleichen Fehler erzeugen? Oder Windows Datei Funktionen? Oder geht das mit dem Pragma doch vielleicht irgendwie?

Wäre für jede Hilfe dankbar. Kann doch nicht angehen, dass man nichtmal Dateien auf unterschiedlichen Rechnern lesen kann.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Poste doch mal Deine Struktur. Es kann eine Menge Möglichkeiten geben, warum das nicht funktioniert. Beispielsweise die Byteorder (auf welchen Systemen probierst Du denn? Ich vermute mal, 1x Intelbasiert und das zweite eine SUN oder HP Unix-Workstation?). Da Du 4.0 erwartest, nehme ich an, dass Du mit Fliesskommazahlen arbeitest? Je nach System (und auch Compilereinstellungen) koennen die internen Darstellungsweisen variieren.

Nic

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...