Computerhilfen.de Logo
Forum
Tipps
News
Frage stellen

C Programmierung : Datei einlesen und in Array aus Structs speichern funktioniert nicht

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;

            

« Hilfe bezüglich structs speichern gesucht - !Achtung Anfänger!Ruby Tutorials »
 

Schnelle Hilfe: Hier nach ähnlichen Fragen und passenden Tipps suchen!

Fremdwörter? Erklärungen im Lexikon!
Auslagerungsdatei
Die Auslagerungsdatei, auch bekannt als virtueller Speicher, ist ein wichtiges Element im Windows-Betriebssystem. Sie dient als Erweiterung des physischen Arbeitsspeicher...

Dateiendungen
Die Dateiendung, auch Dateinamenerweiterung, Dateierweiterung oder einfach "Endung" genannt, besteht aus meistens drei oder vier Buchstaben und wird mit einem Punkt an de...

Dateisystem
Das Dateisystem eines Computers definiert, wie Daten auf einem Speichermedium organisiert werden. Es bestimmt dabei, wie die Informationen auf dem Medium gespeichert, gel...