Article View: de.comp.lang.c++
Article #1690Re: ios::binary
From: Harald Fuchs
Date: Mon, 26 Feb 1996 17:35
Date: Mon, 26 Feb 1996 17:35
36 lines
2544 bytes
2544 bytes
kuehl@uzwil.informatik.uni-konstanz.de (Dietmar Kuehl) writes:
> : > > datei << (char)datstr;
> Das hat aber, zumindest konzeptionell, immernoch nichts mit einer
> binaeren Ausgabe zu tun! Sicher wird das passende Bitmuster
> gespeichert, aber der korrekte Weg binaere Daten (mit einem 'ostream')
> zu speichern ist 'ostream::write(char *, size_t)' ('char*' statt
> 'void*' ist noetig, da 'void' keine Groesse hat).
Ist das nicht Definitionssache? Man könnte doch einfach sagen, das
zweite Argument gibt die Größe in Bytes (aka sizeof char) an. Dann
könnte das erste Argument doch void* sein, und der häßliche
static_cast fiele weg.
> Ich hatte mal mit dem Gedanken gespielt "schnell mal" sowas wie
> 'ibstream' und 'obstream' zu schreiben, bin aber an so trivialen
> Problem wie 'double's zu speichern gescheitert. Wenn jemand einen
> sinnvollen Vorschlag fuer ein (halbwegs) Platform unabhaengiges Format
> (und moeglichst auch weiss, wie man das halbwegs Platform unabhaengig
> implementiert) hat, dann koennte man sowas mal angehen...
Ein plattformunabhängiges Binärformat existiert bereits, nämlich das
von Sun entwickelte XDR. Gips auch auf anderen Kisten wie DEC
Alphas. Irgendwer hat sogar mal eine Klasse XDRstream geschrieben,
aber das war, bevor das Standardisierungskomitee die iostreams in die
Finger bekommen hat.
> "Kleinere"
> Nebenanforderungen, wie etwa Typsicherheit, zu erfuellen waere auch
> ganz nett :-)
Fände ich gar nicht nett, weil das die Größe der Binärdarstellung
aufblasen würde, und weil es eventuell nicht sprachunabhängig ist.
Bei XDR ist sowas nicht drin; bei Bedarf könnte man sich sowas ja
oberhalb von XDR definieren.
Technical Details
Message-ID:
<puenri7zx7.fsf@themroc.colibri.de>Path:
arc1-ca.pugleaf.net!rz.uni-karlsruhe.de!not-for-mailReferences:
<63PsNxLrHvB@compi.baltic.de> <4gqc5l$i0@news.BelWue.DE>Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!rz.uni-karlsruhe.de!not-for-mail From: hf@colibri.de (Harald Fuchs) Newsgroups: de.comp.lang.c++ Subject: Re: ios::binary Date: 26 Feb 1996 18:35:32 +0100 Organization: Colibri GmbH, Germany Sender: hf@themroc.colibri.de Message-ID: <puenri7zx7.fsf@themroc.colibri.de> References: <63PsNxLrHvB@compi.baltic.de> <4gqc5l$i0@news.BelWue.DE> NNTP-Posting-Host: teco10a.teco.uni-karlsruhe.de Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit In-reply-to: kuehl@uzwil.informatik.uni-konstanz.de's message of 25 Feb 1996 19:09:41 GMT X-WWW-Home-Page: http://www.colibri.de/~hf/ X-PGP-Public-Key: finger hf@colibri.de X-PGP-Fingerprint: 09 4E C4 A2 B2 C5 33 1A 79 80 5D 39 BD 9B 89 39 X-Disclaimer: Kore wa Colibri no iken dewa arimasen X-Newsreader: Gnus v5.0.9