C: struct mit Daten aus Datei füllen

  • Themenstarter Themenstarter makuri
  • Beginndatum Beginndatum
M

makuri

Hallo,

ich möchte ein struct mit den Daten aus einer Datei füttern. Momentan wird aber nur die erste Zeile auf dem Bildschirm ausgegeben. Wie kann ich nun "alle" Einträge der Datei auf dem Bildschirm ausgeben ? Ein weiteres Problem sind Leerzeichen, die nunmal ab und zu in einer Bezeichnung (hier als Name) auftreten. Wie kann man diese als ganzen String einlesen ?

Code:
#include<stdio.h>

struct person {

	int pers_nr;
	char vname[20];
	char nname[20];
	char aufgabe[20];

};

struct person einlesen() {

	struct person no_name;
	FILE *datei;
	datei = fopen("daten.txt","r");
	fscanf(datei,"%d\t%s\t%s\t%s", &no_name.pers_nr, &no_name.vname, &no_name.nname, &no_name.aufgabe);
	return no_name;

}

void ausgabe(struct person bs) {

	printf("\nPers.Nr\tVorname\t\t\tNachname\t\tAufgabe");
	printf("\n\n%d\t%-20s\t%-20s\t%s\n", bs.pers_nr, bs.vname, bs.nname, bs.aufgabe);

}

void main() {

	struct person eins;
	eins = einlesen();
	ausgabe(eins);

	getch();
}

Inhalt der Text Datei:

Code:
45000	Dagobert	Duck	Nutzer1
45001	Annemarie Louise	Meier	Nutzer2
45002	Claudia	Meier Schmidt	Nutzer3
 
Zurück