Hi Leute,
ich wollte eine datei formatiert einlesen... hab aber probleme mit nem String.
wäre cool wenn mir jmd helfen könnte.
Die Datei ist als .txt gespeichert:
Mein Problem ist, dass die ganze Zeile als String anerkannt wird und dann die ganze Zeile in studi[i].name reingeschrieben wird, anstatt nur das bis zum Komma in studi[i].name reinzuschreiben.
Ich hab bestimmt irgendwo en kleinen (Denk)Fehler den ich die ganze Zeit übersehe...
Mit Gruß
Mileu
ich wollte eine datei formatiert einlesen... hab aber probleme mit nem String.
wäre cool wenn mir jmd helfen könnte.
Die Datei ist als .txt gespeichert:
Code:
Meyer,2,03.04.1985
Schmitt,4,04.06.1984
Bauer,5,21.06.1986
Code:
#include <stdio.h>
FILE *datei;
typedef struct {
int tag, monat, jahr;
}datum;
typedef struct {
char name[20];
int semester;
datum geburtstag;
}student;
int studianz = 10;
student studi[10];
int main(){
int i = 0;
datei = fopen("Studenten.txt","r");
while ((fscanf(datei, "%s,%d,%d.%d.%d\n", studi[i].name, studi[i].semester, studi[i].geburtstag.tag,
studi[i].geburtstag.monat, studi[i].geburtstag.jahr))!= EOF){
i++;
}
for(i=0;i < studianz; i++){
printf("Name: %s,\tSemester: %i\tGeburtstag: %i.%i.%i\n", studi[i].name, studi[i].semester,
studi[i].geburtstag.tag, studi[i].geburtstag.monat, studi[i].geburtstag.jahr);
}
}
Mein Problem ist, dass die ganze Zeile als String anerkannt wird und dann die ganze Zeile in studi[i].name reingeschrieben wird, anstatt nur das bis zum Komma in studi[i].name reinzuschreiben.
Ich hab bestimmt irgendwo en kleinen (Denk)Fehler den ich die ganze Zeit übersehe...
Mit Gruß
Mileu