我試圖建立結構數組幾樣件,然後需要輸出到文件中。它似乎工作正常,但只會打印前3個部分,然後崩潰。寫一個陣列結構到文件
#include "stdio.h"
main()
{
struct stock{
char name[20];
int partNum;
int quantity;
};
struct stock someStock[3];
strcpy(someStock[0].name, "License plate");
someStock[0].partNum = 1234;
someStock[0].quantity= 4;
strcpy(someStock[1].name, "Head lamp");
someStock[1].partNum = 1111;
someStock[1].quantity= 2;
strcpy(someStock[2].name, "Rear wiper");
someStock[2].partNum = 2222;
someStock[2].quantity= 6;
strcpy(someStock[3].name, "Tyres");
someStock[3].partNum = 3333;
someStock[3].quantity= 10;
struct stock *ptr = &someStock[0];
int i;
FILE *file_ptr;
file_ptr = fopen("stock.dat", "w");
for(i=0;i<4;i++)
{
fprintf(file_ptr, "%s %d %d\n",(*ptr).name,(*ptr).partNum, (*ptr).quantity);
ptr++;
}
fclose(file_ptr);
return 0;
}
@DanielFischer謝謝丹尼爾,我站得更正了。已更新。 – weston
現在修復「等效」的拼寫錯誤,我真的很開心;) –
@DanielFischer完成! – weston