Hallo ! Ich brauche dringend Hilfe bei folgendem Codeausschnitt:
____________________________________________________
#include <stdio.h>
#include <string.h>
#define LAENGE 100 //länger der einzelnen Zeilen
#define ANZAHL 16 //Anzahl der Zeilen
struct person {
char *name ;
char *geburtsdatum;
int *generation;
char *todesdatum ;
char *geschlecht;
};
int main (void)
{
struct person personen[16];
char proband[10];
printf("Bitte geben Sie den vollständigen Vornamen des gewünschten Probanden ein:\n");
scanf ("%s", &proband);
FILE *datei;
char line[ANZAHL][LAENGE];
int i ;
char a;
int j;
char delimiter[] = ",;";
char *ptr;
datei = fopen ("Stammbaum.txt", "r");
if (datei != NULL)
{
for(i = 0; i < ANZAHL;i++) {
fgets(line,LAENGE,datei);
ptr = strtok(line, delimiter);
personen.name=ptr;
ptr = strtok(NULL, delimiter);
personen.geburtsdatum=ptr;
ptr = strtok(NULL, delimiter);
personen.generation=ptr;
ptr = strtok(NULL, delimiter);
personen.todesdatum=ptr;
ptr = strtok(NULL, delimiter);
personen.geschlecht=ptr;
ptr = strtok(NULL, delimiter);
if (strcmp(personen.name,proband)==0)
{
printf("juhu sie heißen %s\n Gefunden wurden Sie an der Position %i ",personen.name,i);
} // Funktioniert noch!
}
printf("juhu sie heißen %s\n ",personen[0].name); //Funktioniert nicht mehr
.....
______________________________________________________
Das Problem ist, dass außerhalb der For-Schleife nicht mehr die richtigen Werte in den Structs gespeichert sind.
Es wird komischerweise die letzte Zeile der Datei in jedem Struct speichert.
Kann mir jemand sagen, wo der Fehler ist ?
Hier der Inhalt meiner Textdatei:
Annegret;23.08.1840;0;01.06.1930;w;
Dieter;12.03.1833;0;20.10.1898;m;
Lotte;03.11.1880;1;06.3.1922;w;
Hans;30.03.1875;1;18.04.1937;m;
Emma;21.03.1900;2; ;w;
Moritz;04.04.1903;2;06.05.1949;m;
Lena;02.07.1916;2; ;w;
Frieda;01.09.1930;3; ;w;
Horst;08.12.1934;3; ;m;
Bente;16.01.1945;4; ;w;
Nils;14.04.1965;4; ;m;
Chris;23.06.1966;4;23.06.1966;m;
Laura;29.07.1988;5; ;w;
Manuel;31.08.1990;5; ;m;
Janne;22.03.2010;6; ;w;
Maren;13.11.2015;6; ;w;
JuleMarie Gast |