🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: de.comp.lang.c++
Article #1602

Re: ios::binary

#1602
From: Nico Josuttis
Date: Thu, 22 Feb 1996 13:20
45 lines
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!nico
References: <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