Article View: de.comp.lang.c++
Article #551Re: struct in Datei aus Datei
From: Bernd Eggink
Date: Wed, 11 Oct 1995 21:09
Date: Wed, 11 Oct 1995 21:09
44 lines
2093 bytes
2093 bytes
Harald Fuchs (hf@colibri.de) wrote:
> Markus Becker <becker@zess.uni-siegen.de> writes:
> >> Ich schreibe gerade an eine Prog. und muss dazu Files auslesen und schreiben,
> >> nun waehre es sehr hilfreich wenn ich direkt vom file in ein struct einlesen
> >> koennte bzw. ein struct in eine Datei schreiben koennte, ich habe schon viel
> >> ausprobiert aber es ging alles nicht.
> > Probier's mal mit:
> > ------------------
> > FILE *fp;
> > struct XYSTRUCT xy_s;
> > fp = fopen("blah.dat","rb");
> > fread(&xy_s,sizeof(XYSTRUCT),number_of_structs,fp);
> > fclose(fp);
> Das ist die C-Lösung. In C++ würde man für sowas wohl eher
> fstreams und istream::read / ostream::write verwenden.
> Ganz davon abgesehen wäre es aus Portablilitätsgründen sowieso besser,
> textuelle Darstellung oder zumindest eine plattformunabhängige
> Kodierung wie XDR zu verwenden.
Von der Methode ist im allgemeinen ganz abzuraten. Abgesehen von den
Portabilitaetsprblemen funktioniert sie nur bei einfachen Groessen und
den allereinfachsten Datenstrukturen. Sind Zeiger oder Referenzen im
Objekt enthalten, muss man sich etwas mehr einfallen lassen. Enthaelt
die Klasse virtuelle Funktionen, gibt es mit groesster Wahrscheinlichkeit
eine Katastrophe.
Zeichenweise Ein-/Ausgabe und Ueberladen von operator<<() bzw. operator>>()
ist i.a. die vernuenftigste Methode.
Gruss
Bernd
--
+----------------------------------+
| Bernd Eggink |
| Rechenzentrum Uni Hamburg |
| admin@rzaix13.rrz.uni-hamburg.de |
+----------------------------------+
Technical Details
Message-ID:
<45hbqb$g2i@rzsun02.rrz.uni-hamburg.de>Path:
arc1-ca.pugleaf.net!news.rrz.uni-hamburg.de!rzaix13!adminReferences:
<039_9510102206@gigabase.rhein-main.de> <puybus6jrx.fsf@themroc.colibri.de>Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!news.rrz.uni-hamburg.de!rzaix13!admin From: admin@rzaix13.uni-hamburg.de (Bernd Eggink) Newsgroups: de.comp.lang.c++ Subject: Re: struct in Datei aus Datei Date: 11 Oct 1995 21:09:31 GMT Organization: University of Hamburg -- Germany Message-ID: <45hbqb$g2i@rzsun02.rrz.uni-hamburg.de> References: <039_9510102206@gigabase.rhein-main.de> <puybus6jrx.fsf@themroc.colibri.de> NNTP-Posting-Host: rzaix13.rrz.uni-hamburg.de X-Newsreader: TIN [version 1.2 PL2]