D
Dennis Schulz
hi alle,
ich bin blutiger C Anfänger und hier ist mein Versuch ein Strukt in
eine Datei zu schreiben, bzw anzuhängen.
Leider wird die datei zwar angelegt aber nichts reingeschrieben.
Besonders die Stelle mit dem Fischzeiger kommt mir komisch vor, aber
fwrite erwartet als ersten Parameter nunmal einen Zeiger und ich weiss
sonst nicht was ich machen soll. Bitte helft mir.
mfg Dennis
hier der Codeauszug:
#define dateiname "fischfile.dat"
// eigener Datentyp fis
typedef struct fis {
char besitzer[20];
char fischname[20];
int preis;
} Fischsatz;
int NeuerDatensatz(char besitzer[],char fisch[]) {
FILE *fischfile;
// pruefe ob datei schon existiert
if (DateiExistiert(dateiname)) {
// oeffne Datei zum anhaengen
fischfile =fopen(dateiname, "a");
} else {
// oeffne Datei zum schreiben
fischfile =fopen(dateiname, "w");
}
// lege neuen Fisch an
Fischsatz neufisch;
strcpy(neufisch.besitzer, besitzer);
strcpy(neufisch.fischname, fisch);
neufisch.preis = 17;
// fischzeiger auf neufisch
Fischsatz *fischzeiger;
fischzeiger = malloc(sizeof(struct fis));
fischzeiger = &neufisch;
// schreibe Fischstrukt in datei
fwrite(fischzeiger, sizeof (struct fis), 1, fischfile);
fclose(fischfile);
}
ich bin blutiger C Anfänger und hier ist mein Versuch ein Strukt in
eine Datei zu schreiben, bzw anzuhängen.
Leider wird die datei zwar angelegt aber nichts reingeschrieben.
Besonders die Stelle mit dem Fischzeiger kommt mir komisch vor, aber
fwrite erwartet als ersten Parameter nunmal einen Zeiger und ich weiss
sonst nicht was ich machen soll. Bitte helft mir.
mfg Dennis
hier der Codeauszug:
#define dateiname "fischfile.dat"
// eigener Datentyp fis
typedef struct fis {
char besitzer[20];
char fischname[20];
int preis;
} Fischsatz;
int NeuerDatensatz(char besitzer[],char fisch[]) {
FILE *fischfile;
// pruefe ob datei schon existiert
if (DateiExistiert(dateiname)) {
// oeffne Datei zum anhaengen
fischfile =fopen(dateiname, "a");
} else {
// oeffne Datei zum schreiben
fischfile =fopen(dateiname, "w");
}
// lege neuen Fisch an
Fischsatz neufisch;
strcpy(neufisch.besitzer, besitzer);
strcpy(neufisch.fischname, fisch);
neufisch.preis = 17;
// fischzeiger auf neufisch
Fischsatz *fischzeiger;
fischzeiger = malloc(sizeof(struct fis));
fischzeiger = &neufisch;
// schreibe Fischstrukt in datei
fwrite(fischzeiger, sizeof (struct fis), 1, fischfile);
fclose(fischfile);
}