C 输出文件

C++ output files

本文关键字:文件 输出      更新时间:2023-10-16

我试图用递归导出树的内容。我什么都没有得到,但最后一个元素导出。

void inOrder(tree *root) {
    out.open("output.txt");
    if (root != NULL)
    {
        inOrder (root->left);
        out << root -> item << " t";      //This doesn't work
        cout << root -> item << " t";       //This works
        inOrder (root->right);
    }
    out.close();
    out.clear();
}

我不确定在此处出口时我会在哪里出错。

移动

out.open("output.txt");    

out.close();
out.clear();

在您的功能之外,如递归期间,您最终重新打开文件(这会导致流误),然后将其关闭。实际上,您甚至不需要其中两个,当程序终止时, ofstream的驱动器将自动关闭文件。