Habe ein ähnliches Problem.
Ich erstellen von folgender Struktur ein Feld mit "ANZ" Elementen
|
C-/C++-Quelltext
|
1
2
3
4
|
typedef struct Dungeons
{ String Dungeon_Info[20];
int Number;
}Dungeons;
|
|
C-/C++-Quelltext
|
1
|
Dungeons Dungeon_List[ANZ];
|
nun möchte ich das Feld abspeichern
|
C-/C++-Quelltext
|
1
2
3
|
written_elements = fwrite(Dungeon_List, sizeof(Dungeons), i, file);
if(written_elements == i)
{...
|
wobei i die Anzahl der im Feld befindlichen Strukturen angibt.
danach möchte ich das später wieder einlesen
|
C-/C++-Quelltext
|
1
|
read_elements = fread(Dungeon_List, sizeof(Dungeons), ANZ , file);
|
Das Problem ist jetzt folgendes:
Wenn ich das Programm beende und später wieder neustarte, liest mir fread nichts ein - in meinem Feld steht nach wie vor nichts drinnen.
#pragma pack() liefert keine Verbesserung (sizeof(Dungeons) ist 84, sizeof(int) = 4 und sizeof(String) = 4 - bei 20 Strings und einem int stimme die Rechnung)
Übersehe ich da irgendetwas?