Archiv verlassen und diese Seite im Standarddesign anzeigen : struktnur in datei speicher
sven1978
14-02-2003, 18:50
Wie speichere ich eine Komplette struktur in einer datei?
habe es schon so probiert aber das tut so nicht.
void struktur_speichern(struct liste struktur) {
FILE *dateizeiger;
dateizeiger=fopen("Buchliste.txt","w");
fprintf(dateizeiger,struktur);
flcose(dateizeiger);
}
c(++) bietet keine serialisierung wie zb. java deswegen
muss du selber dafür sorgen dass die daten aus deiner
struktur richtig gespeichert werden.
das heisst du bräuchtest noch eine funktion(methode)
der du den file pointer und deine struktur übergibst.
dort gehst du einfach alle elemente deiner struktur durch
und speicherst sie nach wunsch in der datei.
sven1978
15-02-2003, 06:55
ok das habe ich mir selber auch schon gedacht habe es aber gelassen weil es ja dann ein ziemliechr aufwand wird vorallem sie wieder zu holen
aber wenn es nicht anderst geht was solls
3qualizer
15-02-2003, 09:16
Wir haben in der BSchule das hier gemacht: (leider unter Win...)
#include <iostream.h>
#include <stdio.h>
int main() {
struct Anschrift {
char Name[40];
char Strasse[40];
char Ort[40];
};
Anschrift Anshcrift1;
FILE *dt_zeiger;
cout << endl << endl;
cout << "Kunenname: ";
cin >> Anschrift1.Name;
cout << "Strasse: ";
cin >> Anschrift1.Strasse;
cout << "Ort: ";
cin >> Anschrift1.Ort;
dt_zeiger = fopen( "Anschrift.dat", "a+" );
if( dt_zeiger == NULL ) {
cout << "Dateifehler";
getch();
return 1;
}
fwrite( &Anschrift1, sizeof( struct Anschrift ), 1, dt_zeiger );
fclose( dt_zeiger );
dt_zeiger = fopen( "Anschrift.dat", "r" );
while( fread( &Anschrift1, sizeof( struct Anschrift ), 1, dt_zeiger ) != 0 ) {
cout << endl << "Kundenname: " << Anschrift1.Name;
cout << endl << "Strasse: " << Anschrift1.Strasse;
cout << endl << "Ort: " << Anschrift1.Ort;
cout << endl;
}
fclose( dt_zeiger );
getch();
}ich denke schon, das das möglich ist ;)
Eric
EDIT: jetzt sollts laufen :)
sven1978
15-02-2003, 09:22
Gute idee danke aber das ist c++ mal schauen ob das auch mit c geht.
tkortkamp
15-02-2003, 11:24
Original geschrieben von sven1978
Gute idee danke aber das ist c++ mal schauen ob das auch mit c geht.
Würde das eher als Gemisch bezeichnen :p
Kannst ja einfach cout mit printf und cin mit scanf ersetzen.
c ya,
Tobias
das klappt hier aber nur für einfache structs
@sven1978:
du kannst das beispiel programm auch unter c nutzen, du musst
nur die iostream sachen (cout,cin) rausschmeissen, der rest ist nur noch c.
tkortkamp
15-02-2003, 11:35
sven1978:
Hier http://www.pronix.de/C/standard_C/ckurs/ckurs92.html findest du noch eine gute Erklärung inkl. Beispiel zum Thema.
c ya,
Tobias
sven1978
16-02-2003, 22:20
Der linkt ist echt gut danke fuer die tips
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.