我有一个 void 类型函数,向控制台显示几个整数。我希望将这些整数写入文件。这就是我正在谈论的功能:
void inorder(node *root)
{
if(root)
{
inorder(root->left);
std::cout << root->key << " ";
inorder(root->right);
}
}
我知道如果我返回整数数组就可以完成它。但这会使我的代码变得复杂,我必须添加某种计数参数等。
是否可以将此函数的结果写入文件?
最佳答案
您可以简单地更改函数以获取对 std::ostream
的引用,然后向其传递 ofstream
或 std::cout
> 取决于您是要写入文件还是标准输出:
void inorder(node *root, std::ostream& os)
{
if(root)
{
inorder(root->left, os);
os << root->key << " ";
inorder(root->right, os);
}
}
然后
node* root = ....;
// write to stdout
inorder(root, std::cout);
// write to a file
std::ofstream myfile("myfile.txt");
inordet(root, myfile);
关于c++ - 写入文件 - 无效问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16122794/