Я пытаюсь читать строки за строкой из текстового файла и помещать значения в структуру.Структура и указатель в C
Мой вход:
name1 name2 01.01.2015. ,
Код, который я написал ниже, работает, но все массивы имеют одинаковые значения (последней строки файла). Я думал, это потому, что мои элементы только справляются с указателем? Но до сих пор не удалось найти решение для этого? Может быть, кто-то быстро поможет.
int main() {
struct table {
char *nachname;
char *vorname;
char *tag;
char *monat;
char *jahr;
int q;
};
int i;
char *file = "OefbTeam1neu.dat", *token;
int lines = getLineCount(file);
FILE *readtxt = fopen(file, "r");
struct table team[lines];
//char vn[lines][100], nn[lines][100], geb[lines][100]; // array of characters in array of strings
rewind(readtxt);
for(i=0 ; i < lines ; i++) {
char vn[100], nn[100], geb[100];
char *t , *m , *y;
int iread = fscanf(readtxt, "%s %s %s \n", nn, vn, geb);
token = strtok(geb, ".");
while(token != NULL) {
t = token;
token = strtok(NULL, ".");
m = token;
token = strtok(NULL, ".");
y = token;
token = strtok(NULL, ".");
}
team[i].nachname = nn;
team[i].vorname = vn;
team[i].tag = t;
team[i].monat = m;
team[i].jahr = y;
team[i].q = i;
//printf("%s %s %s %s %s \n", team[i].nachname, team[i].vorname, team[i].tag, team[i].monat, team[i].jahr);
}
fclose(readtxt);
}
благодарит за помощь! – coo12