3

我想使用 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)
{
???
}

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

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

writeFoo(std::cout);
writeFoo(sd::ostream &out)
{
  out << somedata to display to the screen;
}
4

1 回答 1

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

希望有帮助。

于 2013-07-19T18:42:04.753 回答