1
我正在創建鏈接列表,然後將其寫入文件並再次讀取。我使用fwrite和fread一次編寫和讀取結構的整個實例。但問題是它不能正常工作。我想在看到輸出文件後寫入工作正常,但仍然不確定。但是閱讀不起作用。從文件中動態讀取結構時,fread無法工作
下面是結構
struct student
{
int roll_num;
char name[100];
struct student *next;
};
下面是邏輯
ifd = fopen("qwer1234.txt","wb");
struct student *temp;
temp = start;
while(temp != NULL)
{
fwrite(temp, sizeof(struct student), 1, ifd);
temp = temp->next;
}
close(ifd);
ifd = fopen("qwer1234.txt","rb");
temp = NULL;
temp = malloc(sizeof(struct student));
fread(temp, sizeof(struct student), 1, ifd);
start = temp;
//temp->next = NULL;
printf("%s\t%d\n",temp->name,temp->roll_num);
temp = malloc(sizeof(struct student));
/*while(fread(temp, sizeof(struct student), 1, ifd) == 1)
{
temp->next = start;
start = temp;
printf("%d/n",temp->roll_num);
temp = malloc(sizeof(struct student));
}*/
close(ifd);
我雖然只讀單一實例的時間時,它仍然沒有工作。沒有任何東西存儲在temp-> name中,0存儲在temp-> roll_num中。我堅持了最後4個小時。我可以通過單獨存儲結構的元素來做到這一點,但這次想以另一種方式來完成。
對於所有對他們而言重要的人,這是一個家庭作業問題。
任何幫助將不勝感激。謝謝:)
我沒有話要對你說。那是我想到過去那麼多小時的想法的時刻之一。我本來可以睡幾個小時。謝謝你的伴侶。它真的解決了我的問題。公牛的眼睛。 – Sahil
@Sahil不用擔心,先生。在我爲你的代碼設置單元測試之前,我沒有親自理解它,因爲我看不出有什麼問題= P – WhozCraig
你能告訴我更多關於單元測試嗎? – Sahil