Article View: de.comp.lang.c++
Article #1602Re: ios::binary
From: Nico Josuttis
Date: Thu, 22 Feb 1996 13:20
Date: Thu, 22 Feb 1996 13:20
45 lines
2059 bytes
2059 bytes
In article <63Ho3pI6HvB@compi.baltic.de>,
Joerg Bornemann <juri@compi.baltic.de> wrote:
>Hallo!
>
>Wie kann ich fstream dazu ueberreden,
>Daten binaer und nicht als ASCII-Zeichen zu speichern.
>
>Im folgenden Beispiel soll 65 in die Datei TEST.DAT gespeichert werden.
>Was ich aber dann in der Datei erblicke, ist "65" und nicht "A".
>Also zwei Byte statt einem. :-(
>
>-cut---------------------------------------------------------------
>#include <fstream.h>
>
>void main()
>{
> fstream datei("TEST.DAT", ios::in | ios::out | ios::binary);
> // ^^^^^^^^^^^
> // sollte doch eigentlich gehen...?
> unsigned int datstr=65;
> datei << datstr;
>}
>---------------------------------------------------------------cut-
>
>cu Joerg
ios::binary hat nichts mit Deinem Verstaendis von binary zu tun.
Es bedeutet, dass insbesondere das Zeilenende des PC-Formats
(CarriageReturn plus LineFeed) nicht zu einem Zeichen '\n'
gemacht wird (dies ist sonst normalerweise der Fall).
Dein Verstaendis von binary meint wohl das eigentliche Format, in
dem ein Wert rausgeschrieben wird.
Dies richtet sich bei << nach dem Typ.
In dem Fall musst Du angeben, dass es als Zeichen rausgehen soll.
Also:
> datei << (char)datstr;
Hoffe, das hilft.
(Ich will lieber nicht nach dem Sinn einer solchen Konstruktion fragen,
sonst gibt es jede Menge Mails ueber Art und Weise von Kritik)
--
Nico address: BREDEX GmbH, Nicolai Josuttis
email: nico@bredex.de Fallersleber-Tor-Wall 23
phone: +49 531 24330-0 D-38100 Braunschweig
fax: +49 531 24330-99 Germany
Technical Details
Message-ID:
<Dn6IDy.8xx@bredex.de>Path:
arc1-ca.pugleaf.net!news.braunschweig.pop.de!bredex!nicoReferences:
<63Ho3pI6HvB@compi.baltic.de>Show Full Headers
Complete Article Headers
Newsgroups: de.comp.lang.c++ Path: arc1-ca.pugleaf.net!news.braunschweig.pop.de!bredex!nico From: nico@bredex.de (Nico Josuttis) Subject: Re: ios::binary Message-ID: <Dn6IDy.8xx@bredex.de> Reply-To: nico@bredex.de Organization: Bredex GmbH References: <63Ho3pI6HvB@compi.baltic.de> Date: Thu, 22 Feb 1996 13:20:21 GMT