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 ?
Inhalt der Text Datei:
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