0
我想從單個輸入文件創建多個二進制樹。輸入文件如下所示:從輸入文件讀取單個字符時遇到問題
ABCDEFG
JUHSKDHFG
HDSNURHLNF
JNDKFJBJNF
每行代表一棵不同的樹,所以我必須單獨讀入每個字符。我現在的代碼只讀取每行的第一個字母,並從第一個字母中創建一個樹。我如何將整行讀成一棵樹,然後從下一行再次開始?
這是我現在所擁有的代碼:
int main()
{
BinaryTree <char> BT;
char ch;
string line;
ifstream myfile("input.txt");
if (myfile.is_open())
{
while(getline(myfile, line)
{
while(myfile.get(ch))
{
BT.InsertData(ch);
if(ch = '\n')
break;
}
}
cout << "Preorder: ";
BT.PrintPreorder();
cout << endl;
cout << "Inorder: ";
BT.PrintInorder();
cout << endl;
cout << "Postorder: ";
BT.PrintPostorder();
cout << endl;
cout << "Reverse Inorder: ";
BT.PrintReverseInorder();
cout << endl;
BT.PrintPrintTree();
cout << endl;
myfile.close();
}
return 0;
}
還有......?一個問題?您是否打算忽略實際數據的每一行,並使用一個換行符完成每個外循環傳遞?根據你的輸入數據,看起來會發生什麼。 – WhozCraig