我需要從C程序中的data.txt
文件導入一些數據。我的數據源是這樣的:將數據從txt文件導入C程序
A ABC001 B
A ABC002 B
A ABC003 C
B ABC004 C
B ABC005 E
C ABC006 B
D ABC007 A
D ABC008 B
E ABC009 D
我已經定義了一個新的數據類型來存儲所有的信息:
typedef struct node {
char street_name;
char number_plate[7];
char destination;
} Car;
這是我試圖從上述文件中的數據導入到一個數組:
int main(void)
{
FILE *file;
int i = 0;
Car carinfo[9];
file = fopen("data.txt", "r");
while (EOF != fscanf(file, "%c %6s %c", &carinfo[i].street_name,
&carinfo[i].number_plate,
&carinfo[i].destination))
{
printf("Loop #%d\n", i+1);
i++;
}
for (i = 0; i < 9; i++)
{
printf("Street Name: %c, Number Plate: %s, Destination: %c\n", carinfo[i].street_name,
carinfo[i].number_plate,
carinfo[i].destination);
}
fclose(file);
return 0;
}
的while
循環正在爲10次執行,然後使程序崩潰,因爲顯然它無視EOS
應避免另一個迭代。
我在這裏做錯了什麼?任何人都可以請幫我弄清楚?
請在示例中始終包含正確的標題。 – Deduplicator
你會得到什麼輸出? – Deduplicator
它是否會因分段故障而崩潰? – Mauren