0
我试图创建一个包含8行的.dat文件,第一行是记录数,其余7行包含将填充记录的数据链表。C++:从文件中读入数据以填充链接列表
我遇到的问题是我的代码只填充第一条记录,但使用cout我知道它正在经历整个文件。下面是代码,我的工作片断:
fstream listBuilder;
listBuilder.open("HW06.dat");
if (listBuilder.is_open()) {
TeleType *current;
current = listHead;
listBuilder >> numberOfRecords;
while (listBuilder) {
string firstName;
string lastName;
string phone;
string name;
listBuilder >> firstName >> lastName >> phone;
name = firstName + " " + lastName;
current->name = name;
current->number = phone;
current = current->nextaddr;
current = new TeleType;
}
listBuilder.close();
} // end if
else {
cout << "***** Error: File failed to open. *****" << endl;
} // end else
要使链表工作,您需要链接节点。看起来你不是这样做的。 – user4581301
与仅仅使用'List'并追加?用C++语义做一个C风格的列表构建很奇怪。否则,你没有给你所有的代码。 'listHead'? 'TeleType'?另外,如果你确定来自'numberOfRecords'的输入,你可以循环。 –
在纸上绘制框和箭头是使用指针调试代码的最佳方式。 – molbdnilo