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 に答える