Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Vektor in Datei speichen

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
11.01.2007, 12:48 Uhr
~Andre_go
Gast


Hallo ich habe ein kleines Problem,
ich habe einen Vector indem sie objekte befinden,
nun möchte ich diesen in einer Datei speichern.

In Java mache ich das mit serialisieren,
wie stelle ich das in C++ an?


Grus Andre
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
11.01.2007, 12:54 Uhr
(un)wissender
Niveauwart


Auch?
--
Wer früher stirbt ist länger tot.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
11.01.2007, 13:11 Uhr
(un)wissender
Niveauwart


boost serialization
--
Wer früher stirbt ist länger tot.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
11.01.2007, 22:21 Uhr
~MartinF
Gast


Hallo zusammen,

es ist ebenfalls möglich auf die Mittel der STL zurückzugreifen. Hierzu muss der Ein- und/oder Ausgabestreamoperator überladen werden. Hierzu ein Beispiel: 2 Elemente der Struktur T (bestehend aus je zwei numerischen Werten) wird aus einem Vector via Filestream in die Datei d.dat geschrieben.


C++:
#include <iostream>
#include <fstream>
#include <iterator>
#include <vector>
#include <algorithm>
using namespace std;

struct T {
        int a;
        int b;
};

ostream& operator<<(ostream& os, const T v) {
        ostream_iterator<int> oi(os, " ");
        *oi = v.a;
        ++oi;
        *oi = v.b;
        return os;
}


int main()
{
        T e1, e2;
        e1.a = 2;
        e1.b = 4;
        e2.a = 8;
        e2.b = 16;

        vector<T> v;
        v.push_back(e1);
        v.push_back(e2);

        ofstream os("d.dat");
        ostream_iterator<T> oi(os);
        copy(v.begin(), v.end(), oi);
}



Bei komplexen Strukturen würde ich jedoch ebenfalls auf boost zurückgreifen.

Grüße
Martin
 
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: