Forum
Tipps
News
Menu-Icon

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;

            

PNG Dateien verkleinern (Gratis-Tools - geht auch mit anderen Bildern!)
PNG Dateien bearbeiten (kostenlos mit Irfanview)
ZIP Archiv erstellen – Daten komprimieren!
WinZip: Daten mit Passwort sichern!
« Hilfe bezüglich structs speichern gesucht - !Achtung Anfänger!Ruby Tutorials »
 

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...


Windows Datei-Verlauf löschen!
Windows 11 installieren auf altem PC: Mit Rufus!