如何传递 ostream 并使用 cout 在函数中的屏幕上显示?

use*_*840 3 c++

我想使用 istream 和 ostream 作为我的函数采用的参数并帮助我完成工作(读取文件,并在屏幕上显示内容)。我知道如何用 istream 做到这一点:

std::ifstream myfile(...);

void foo(myfile);

void readFoo(std::istream &stream)
{
  int x, y;
  stream >> x >> y;  //suppose my file contains many rows of 2 numbers.
  //store the x and y to somewhere 
}

void writeFoo(std::ostream &output)
{
???
}
Run Code Online (Sandbox Code Playgroud)

我应该将什么对象传递给我的 writeFoo()?

更新:这是更新,但我收到一条错误消息(无法从 ostream 转换为 ostream*)

writeFoo(std::cout);
writeFoo(sd::ostream &out)
{
  out << somedata to display to the screen;
}
Run Code Online (Sandbox Code Playgroud)

Naw*_*waz 5

您可以传递任何源自std::ostream.

例如:

writeFoo(std::cout);  //write to stdout

std::ofstream file("output.txt"); //open/create a file first
writeFoo(file);       //write to output.txt
Run Code Online (Sandbox Code Playgroud)

希望有帮助。

  • @user1701840:我无法理解您的更新。请阅读一些有关 C++ 的介绍性书籍。您似乎不了解 C++ 的基础知识。 (2认同)