Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Binärstream schreiben / lesen / erzeugen

Empfohlene Antworten

Veröffentlicht

Folgendes Problem:

Ich habe mehrere Klassen, die die gleiche Basisklasse haben.

In dieser Basisklasse gibt es zwei virtuelle Methoden, an die ein Stream übergeben wird, der zur Ausgabe bzw. Eingabe der Membervariablenwerte genutzt wird.

Ich hatte das über std::ofstream bzw. std::ifstream probiert. Das Schreiben klappt auch ganz gut, dass Problem hierbei ist nur, dass beim Schreiben von Longwerten diese als Char abgelegt werden. D.h., ich bekomme anstatt vier Byte nur eines, wenn der Wert kleiner 10 ist.

Nun meine Frage: gibt es andere StandardStreams oder Manipulatoren / Methoden des o.g., mit dem ich die Daten binär ablegen kann ?

Am besten natürlich über einen Operator (<< / >>), der über template<> den Typ erkennt und den Wert dann auch entsprechend in der richtigen (binären) Länge schreibt.

Danke schonmal im Vorraus.

  • 2 Wochen später...

Zeig mal den source.

Hast mal versucht nach char zu casten und sizeof(long) anzugeben ?

Du könntest in einem eigenen Namensraum mithilfe eines Templates

dafür sorgen das Du ein template hast das einen cast durchführt und die länge mit sizeof() ermittelt.

Dann definierst Du einen operator<< und >> für Deine Klasse die sich wiederum der operator<<(T) bedient. Unnames namespaces würden sich anbieten.

  • 2 Wochen später...

Also erst einmal Entschuldigung, dass ich mich so lang nicht gemeldet habe.

Den Source-Code kann ich dir hier nicht zeigen, da er zum einem riesig groß ist und zum anderen nicht gezeigt werden darf.

Das Problem habe ich auch schon selbst gelöst, ich habe mir eine eigene Streamklasse geschrieben, in die ich die Daten so wie sie kommen binär schreibe bzw. lese.

Trotzdem danke!

Ne komplett eigene streamklasse oder nen op<< op>> ? *mal interessiert frag*

Eine komplett eigene.

Sprach was gegen op<< und op>> ?

Wenn ja was ? (Hab mir zu dem Thema Daten binär schreiben nie gedanken gemacht :/ )

Eigentlich nicht, aber zum einen wollte ich wissen, wie es funktioniert, und da ist das selbst schreiben der beste Weg und zum anderen habe ich mir so eine Menge an Ballast gespart, da in der Klasse nur das implementiert ist, was ich auch wirklich brauche.

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.