fstream Problem beim Einlesen
Ich schreibe eine relativ große Map in einer Datei und will sie wieder einlesen, allerdings werden komischerweise nicht mehr als 25 Einträge eingelesen. Es wird aber alles korrekt in die Datei geschrieben. Ich habe es mit eof() probiert und von Hand, da ich ja die Größe der Map weiß. Allerdings kommt bei beiden das gleiche raus. Die Datei hat auch auf jeden Fall die richtige Größe (800kb). Jemand eine Ahnung, womit das zusammenhängen kann?
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
// schreiben
for (it = table.begin(); it != table.end(); it++)
{
file.write((char*)&it->first, sizeof(int));
file.write((char*)&it->second, sizeof(float));
}
// lesen
while(!file.eof())
{
int intbuffer;
float floatbuffer;
file.read((char*)&intbuffer, sizeof(int));
file.read((char*)&floatbuffer, sizeof(float));
table.insert(make_pair(intbuffer, floatbuffer));
}
|
Ich weiß es dauert viel zu lange, aber ich habe echt nur Pech. Habe mir heute mal eben im Zeigefinger Nerv und Sehne durchtrennt. Dennoch kann es nicht mehr all zu lange dauern mit dem Tutorial. Außerdem kamen auch noch Prüfungen und dergleichen dazwischen.
Klatscht die Hopper an die Wand, Deutschland ist ein Raverland!
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »-insane-« (04.04.2010, 14:58)