2
文本文件包含格式化的,像這樣的行:項目兩次
lSdhmhlN 15479 6694.74 O
szUfGnoI 18760 5275.53 n
我讀一行文件中的行,把它的數據到buffer變量,存儲在這些變量TopicD對象,並將該對象插入到二叉搜索樹中。問題在於文件的最後一行被讀取兩次,以便創建兩個相同的TopicD對象並將其插入到樹中。爲什麼?
這裏是我的代碼:
template<class ItemType>
void read(BinarySearchTree<ItemType> & tree)
{
ifstream read(FILE_NAME.c_str());
if (read.fail())
die("Error opening the file.");
string strbuff;
double dubbuff;
int intbuff;
char chbuff;
while (!read.eof())
{
read >> strbuff;
read >> intbuff;
read >> dubbuff;
read >> chbuff;
TopicD buff(strbuff, dubbuff, intbuff, chbuff);
tree.add(buff);
}
read.close();
}