如何传递ostream并使用cout在屏幕上显示功能?

时间:2013-07-19 18:33:02

标签: 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)
{
???
}

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

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

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

1 个答案:

答案 0 :(得分:4)

您可以传递来自std::ostream的任何输出流

例如:

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

std::ofstream file("output.txt"); //open/create a file first
writeFoo(file);       //write to output.txt

希望有所帮助。