文書には、FILE
がストリームを識別するオブジェクト型であると記載されています。だから、FILE
に関連付けられたストリームオブジェクトを取得することは可能ですか?FILEによって識別されるストリームオブジェクトを取得する方法は?
例えば、私はより一般的に私はこのような、何かを与えられたストリームをリダイレクトし、それにカスタムstreambuf
を設定する関数を書きたいなどstderr
からstdout
FILE
ポインタ、またはstd::cerr
からstd::cout
オブジェクトを取得したいのですが:双方PARAMので、2つのパラメータを持っていると思われる冗長
redirect(stdout, std::cout);
redirect(stderr, std::cerr);
ストリームをリダイレクトする
void redirect(FILE* file, std::ios stream) {
freopen_s((FILE**)file, "CONOUT$", "w", file);
stream.rdbuf(customBuffer);
}
を使用エータは常に互いに関連しています。
最初にファイルストリームを使用してみませんか? –
標準のストリームをリダイレクトできるように、私の関数をstd :: fstreamだけでなくすべてのI/Oストリームで操作したいと考えています。 – krsi