musiKk
Dr. Strangelove
struct in Datei speichern und inzwischen auch Auslesen...
Hallo,
sicher fuer viele ein Grund zum laecheln, bei mir klappts irgendwie nicht.
Und zwar soll ich structs der folgenden Form abspeichern:
Ich habe erst in der cppreference den Eintrag zu fwrite studiert und angewendet. Das lustige ist nur: In der FH auf der SUN laeuft das ganze wunderbar, hier zu Hause unter Linux stimmt nur "name", der Rest besteht nur aus sinnlosen Zeichen.
Das wichtigste aus dem Code sollte dies sein:
Fflush() ist eine Funktion, die den Puffer leert, da ich las, dass fflush(stdout) nicht immer funktionieren soll.
Des weiteren habe ich auch mal statt scanf gets benutzt, da ich dies zuerst im Verdacht hatte, aber da kommt der gleiche Mist raus.
Waere dankbar fuer nen Denkanstoss...
Hallo,
sicher fuer viele ein Grund zum laecheln, bei mir klappts irgendwie nicht.
Und zwar soll ich structs der folgenden Form abspeichern:
Code:
struct satztyp {
char name[20];
char vorname[20];
char anschrift[50];
char telefon[20];
};
Das wichtigste aus dem Code sollte dies sein:
Code:
void eingabe(char *dateiname) {
struct satztyp* neu;
neu=(struct satztyp*) malloc (sizeof(struct satztyp*));
printf("\n\n");
printf("--------------------------------\n");
printf("-- Neuen Datensatz eingeben --\n");
printf("--------------------------------\n\n");
printf("Name: ");
scanf("%s",&(neu->name));
printf("Vorname: ");
scanf("%s",&(neu->vorname));
printf("Anschrift: ");
scanf("%s",&(neu->anschrift));
printf("Telefon: ");
scanf("%s",&(neu->telefon));
Fflush();
FILE *fp=fopen(dateiname, "a");
fwrite(neu, sizeof(struct satztyp), 1, fp);
fclose(fp);
}
Des weiteren habe ich auch mal statt scanf gets benutzt, da ich dies zuerst im Verdacht hatte, aber da kommt der gleiche Mist raus.
Waere dankbar fuer nen Denkanstoss...
Zuletzt bearbeitet: