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 |