hallo schon wieder,
ich würde gern komplette listen in dateien abspeichern und auch wieder
auslesen koennen.
hab das bisher folgerndermassen probiert:
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
// prog zum schreiben der daten
char filename[]="dateiname.dat";
vector<int> iValue;
for (int i=0;i<100;i++) // werte reinschreiben;
{
iValue.pushback(i);
}
// daten speicher
ofstream Ofile (filename,ios::binary);
Ofile.write((char *) &iValue, sizeof(iValue));
Ofile.close();
iValue.clear();
// prog zum einlesen der daten
char filename[]="dateiname.dat";
vector<int> iValue;
ifstream Ifile (filename,ios::binary);
Ifile.read((char *) &iValue, sizeof(iValue));
Ifile.close();
|
führe ich beide programmteile direkt hintereinander im gleich programm aus (die variablendeklaration im zweiten teil faellt dann natuerlich weg) funktioniert alles einwandfrei und die gelesenen daten entsprechen auch dem in die datei geschriebenen.
sobald ich aber zuerst in einem prog die daten abspeichere und dann spaeter in einem anderen programm mit obiger routine abrufen will kommt nur muell raus und das programm meldet beim beenden einen assertion failure. das ganze scheint nur bei listen zu passieren. sobald ich normal ints oder aehnliches abspeichere hab ich das problem nicht.
was ist bei listen anders und was muss ich denn dann da beachten??
gruss
manne
[/cpp]