D
Dennis Schulz
hi all,
im a very beginner in c language and this is my try in writing /
appending a struct in a file.
unfortuately nothing is written into the file.
especially the part with the pointer Fischzeiger seems very strange to
me...
but fwrite accepts a pointer as first argument, i dont know what else
to do...
any help wounld be appreciated.
MfG Dennis
here is the code part:
#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);
}
im a very beginner in c language and this is my try in writing /
appending a struct in a file.
unfortuately nothing is written into the file.
especially the part with the pointer Fischzeiger seems very strange to
me...
but fwrite accepts a pointer as first argument, i dont know what else
to do...
any help wounld be appreciated.
MfG Dennis
here is the code part:
#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);
}