我想從文本文件逐行讀取並將值放入結構中。結構和指針在C
我輸入的是:
名1名2 2015年1月1日。 。
我在下面寫的代碼正在工作,但所有數組都具有相同的值(文件的最後一行)。我認爲這是因爲我的元素只是應付指針?但仍然找不到解決方案?也許有人快速尋找幫助。
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