Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Double aus Binärformat einlesen ...

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
14.06.2004, 14:58 Uhr
Tutnix



Hallo zusammen,

ich hab folgendes Problem:

Hab ne Datei die verschiedene Daten im Binörformat enthält. Mit int, long und so bin ich zurecht gekommen, aber wie krieg ich ne

64 Bit double

gescheit ausgelesen?

Aus meiner Sicht wäre es am einfachsten die 8 Byte in nen Arry auszulesen und dann die Adresse des Arrays nem Pointer auf nen Double zu übergeben aber irgenwie mag das der Compiler nicht.

Wäre super wenn mir wer erklären könnte wie ich entweder meine Idee umsetzen kann, oder das einlesen anders hin bekomme!

Thx & Grüße,
Tutnix

Dieser Post wurde am 14.06.2004 um 14:58 Uhr von Tutnix editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
14.06.2004, 15:12 Uhr
virtual
Sexiest Bit alive
(Operator)



C++:
long double value;

fwrite(&value, 1, sizeof(value), file);


--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
14.06.2004, 15:36 Uhr
Tutnix



mhmm abgesehen davon dass ichs net wirklich kapiert hab was du meinst hab ich glaub jetzt nen Weg gefunden.

ne UNION aus DOUBLE und CHAR[8] ... einfach die chars binär einlesen und fertig ...

sollte so tun oder? Nachdem ich mich 2h damit rum gequält habe bin ich mir irgendwie bei nix mehr sicher :-/

Grüße,
Tutnix
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
14.06.2004, 15:42 Uhr
virtual
Sexiest Bit alive
(Operator)


@Tutnix
Hm, ich habe nicht richtig gelesen: Du willst ja lesen. In diesem Falle einfach fread an Stelle von fwrite verwenden: file sollte Dein FILE sei, aus dem du liest, value das LONG DOUBLE, in das gelesen wird...
Oder was ist unklar?
Denn Dein weg ist zwar gangbar, aberletztlich umständlich.
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
14.06.2004, 15:50 Uhr
Tutnix



nun die Sache ist die, dass ich bisher die Datei über nen ifstream-Objekt geöffnet habe - daher passt mir das fread nicht so wirklich rein. Würde das ganze gerne mit den ifstream-methoden erledigen.

wenn mein weg korrekt ist, dann langt mir an sich schon .. hauptsache es funzt

falls es auch mitm ifstream einfacher gehen sollte wärs nätürlich trotzdem super wenn dus kurz postest ... fürs nächste mal ;-)

Thx & Grüße,
Tutnix
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
14.06.2004, 15:58 Uhr
virtual
Sexiest Bit alive
(Operator)



C++:
#include <fstream>
#include <iostream>
#include <cmath>

int main()
{
    //
    // Binäre ausgabe
    //
    std::ofstream out("test.dat", std::ios::out|std::ios::binary);
    double out_value = 4.0*atan(1.0);
    out.write(reinterpret_cast<const char*>(&out_value), sizeof(out_value));
    out.close();
    std::cout<<"Wrote: "<<out_value<<std::endl;

    //
    // Binäre eingabe
    //
    std::ifstream in("test.dat", std::ios::in|std::ios::binary);
    double in_value;
    in.read(reinterpret_cast<char*>(&in_value), sizeof(in_value));
    in.close();
    std::cout<<"Read:  "<<in_value<<std::endl;
}


--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
14.06.2004, 16:58 Uhr
Tutnix



ah damit bekomm ich den Pointer also übergeben .. thx!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: