ofstream - 我可以将"cout"重定向到文件中吗?

Mar*_*lto 0 c++ fstream cout ofstream io-redirection

我只是想知道你是否有某种方式可以做到这一点:

ofstream exemple (name);
exemple << Display();
Run Code Online (Sandbox Code Playgroud)

Display()是一个void方法,只做类似的事情:

cout << "Something" << endl;
Run Code Online (Sandbox Code Playgroud)

我会这样做,因为我已经为每个类编写了所有方法Display(),我想将它们发送到cout的内容放入我的文件中,或者重新创建一些方法"string Display()".

可能吗?

谢谢!马尔科

Jua*_*rez 6

您可以更改cout缓冲区,但它cout是一个全局变量,因此会影响整个程序.

为什么不Display()将输出流作为参数接收?

void Display(std::ostream &cout) {
    cout << "Something" << endl;
}
Run Code Online (Sandbox Code Playgroud)