S
< all problems solved > ?
Super!
Nu kann ich die Datei auch mit dem Notepad öffnen!
edit:
So wie es aussieht erreiche ich mit:
fwrite(adress_ptr->name,strlen(adress_ptr->name),1,f);
genau das gleiche, wie mit:
fputs(adress_ptr->name,f);
hier mal die Load-Funktion:
void load_adresse()
{
FILE *f;
char dateiname[255];
struct adressverwaltung *adress_ptr, adress_daten;
printf("Welchen Datensatz wollen Sie laden : ");
scanf("%s",dateiname); fflush(stdin);
f = fopen(dateiname, "r");
if(f == NULL)
{
printf("Fehler beim oeffnen von %s\n",dateiname);
return;
}
while(fread(&adress_daten,sizeof(struct adressverwaltung),1,f))
{
if(first == NULL)
{
first = (struct adressverwaltung *)malloc(sizeof(struct adressverwaltung));
memset( first, 0, sizeof( struct adressverwaltung ) );
if(first == NULL)
{
printf("Speicherplatzmangel!!!\n");
exit(0); /* Programm beenden */
}
else
{
strcpy(first->name, adress_daten.name);
strcpy(first->adresse, adress_daten.adresse);
strcpy(first->wohnort, adress_daten.wohnort);
strcpy(first->telefon, adress_daten.telefon);
first->next = NULL;
}
}
else
{
adress_ptr=first;
while(adress_ptr->next != NULL)
adress_ptr = adress_ptr->next;
adress_ptr->next = (struct adressverwaltung *)malloc(sizeof(struct adressverwaltung));
memset( adress_ptr->next, 0, sizeof( struct adressverwaltung ) );
if(adress_ptr->next == NULL)
{
printf("Speicherplatzmangel!!!\n");
exit(0); /* Programm beenden */
}
else
{
adress_ptr = adress_ptr->next;
strcpy(adress_ptr->name, adress_daten.name);
strcpy(adress_ptr->adresse, adress_daten.adresse);
strcpy(adress_ptr->wohnort, adress_daten.wohnort);
strcpy(adress_ptr->telefon, adress_daten.telefon);
adress_ptr->next = NULL;
}
}
}
printf("\nDatensatz geladen\n\n");
}
Tut mir leid falls ich gerade aufn Schlauch stehe.