我想使用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;
}
答案 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
希望有所帮助。