私は、私は興味がない(おそらくのprintfを使用して)いくつかのメッセージを出力ライブラリ関数を呼び出しています:printfからの出力を一時的に抑制する方法は?コンソールアプリケーションで
void libFoo()
{
// does some stuff
printf("boring message");
// does some more stuff
}
私が思うに、なぜ私はそれゆえ、動作しませんでした前に、coutのを抑制しようとしましたlibFooはprintfを使用しています:
cout << "interesting messsage" << endl;
streambuf* orig_buf = cout.rdbuf();
cout.rdbuf(NULL);
libFoo();
cout.rdbuf(orig_buf);
cout << "another interesting messsage" << endl;
これらのメッセージはすべて出力されます。 printfからの出力を一時的に抑制する方法はありますか?私はLinux Mintを使用しています。
printf libコールを上書きする可能性があります。 – Stargateur
できますが、私はあなたが完全に移植できるとは思いません。 freopen関数とdup関数を見てください。 – Xarn
curはバッファされず、cerrはバッファされません。無効にした場合は、バッファがフラッシュされていることを確認してください。 – harper