struct array in Datei speicher und laden
-
Ich schreibe ein kleines Programm zur privaten Buchhaltung.
Allerdings sind meine Programmierkenntnisse reine Basiskenntnisse und ich suche mir viel zusammen.
Bisher bin ich auch sehr gut klargekommen, nur das Speichern bzw. Öffnen eingetragenen Daten funktioniert nicht.Die Daten werden über Positionen eingetragen.
Diese Positionen werden in einem statischen struct gespeichert und genau dieses möchte ich abspeichern.struct mystruct { int id; int tag; int monat; int jahr; AnsiString type; AnsiString name; int wert; AnsiString cat; }position[2000];Das ist das Struct.
void __fastcall TForm1::Speichern1Click(TObject *Sender) { //SaveDialog1->Execute(); FILE *fdirectory = fopen ("c:\\test.dat", "wb"); fwrite (&position,sizeof(position),1 , fdirectory); fclose (fdirectory); }Das der Speicherbutton.
Nun habe ich keine Ahnung, wie ich den Ladendialog aufbaue, bzw. wie es von der Logik überhaupt funktioniert und hoffe ihr könnt mir dabei helfen.
-
ich kenn ihn zwar nicht, würde aber mal tippen das AnsiString das Problem ist.
-
was meinst du? du weißt wie du speicherst, aber nicht wie du lädst? das gegenstück zu
fwriteheißtfread.noch ein paar anmerkungen: dein code ist C (in C++ eingebettet), nicht C++. der unterschied ist gewaltig.
du kannst du die struct nicht einfach so speichern und laden, weil sie non-POD member hat (AnsiString).
wenn es um mehr als nur lernen geht, überdenke deine wahl der programmiersprache. als anfänger bist du für sowas mit c++ nicht besonders gut beraten. schau dir doch mal z.b. java oder c# an, die sind vielleicht für den anfang geeigneter.