我正在讀取文本文件(.txt)並獲取其中的值。C - 將文本讀入char數組並打印問題
這裏是我的代碼:
// Definitions.
FILE* file;
date t1, calc[99999];
int index = 0, counter = 0, i;
char info[100];
char *newInfo[9999];
while(!feof(file)){
fscanf(file, "%s %d %d %d\n", info, &t1.day, &t1.month, &t1.year);
newInfo[index] = info;
calc[index].day = t1.day;
calc[index].month = t1.month;
calc[index].year = t1.year;
printf("read: %s %d %d %d\n", info, t1.day, t1.month, t1.year);
index++;
counter++;
}
結果是:
line_1 01 01 2011
line_2 02 02 2012
line_3 03 03 2013
這是好到目前爲止,但是當我試圖把它們打印出來while循環,它總是最後打印值是line_3
。
for(i = 0; i < counter; i++)
printf("%s %d %d %d\n", newInfo[i], calc[i].day, calc[i].month, calc[i].year);
結果是:
line_3 01 01 2011
line_3 02 02 2012
line_3 03 03 2013
它應該打印結果如我所料(我在上面顯示)。
我正在轉讓newInfo[index] = info;
行和增加index
變量。但它仍然只顯示我最新的文字。
任何幫助將不勝感激。
接近這個問題的重複已被問了很多次之前。與往常一樣,困難在於確定它是重複的問題。 –
爲什麼巨大的數組? –
@JonathanLeffler一位智者曾感嘆說:「將會再次發生什麼,已經完成的事情將會再次發生;在陽光下沒有任何新東西。」# –