我試圖從文件讀取鏈接列表。但由於某種原因,它甚至沒有閱讀文件的內容。從文件讀取鏈接列表C++
這是文件的結構:
Product 1
Category
22.33
Product 2
Category
44.23
Product 3
Category
66.55
,這是讀取該文件的內容的功能。它會調用addproduct函數以按排序順序添加它所讀取的項目。
void load (NodePtr head)
{
// create a variable to attach to the file
ifstream input;
input.open("data.txt");
// check to see if the file opened correctly, and if not, exit program
if (input.fail())
{
cout << "\n Data file not found \n";
return;
}
ListItemType data;
while((! input.eof()) && (head != NULL))
{
input >> data.productname;
input >> data.category;
input >> data.productprice;
addproduct(head, data);
}
爲什麼是head!= NULL呢?每次調用函數時,頭部可能都是空的,因爲在調用函數之前頭部沒有數據。 – tay10r
你是否期望任何錯誤,如果請釋放錯誤信息,我認爲你的代碼是好的,而條件你可以使用input.good() – saeed
也,如果head!= NULL不是問題,它看起來不像你的當函數返回時接收頭的新指針。這可能會也可能不會成爲問題,具體取決於它是否爲fifo列表 – tay10r