在函数中抑制cout输出

Jit*_*hin 6 c++

我正在使用一个共享库,其功能是在各处执行std :: cout.是否可以在呼叫者级别执行任何操作,我可以抑制cout outout或将其重定向到某个位置?

是否有可能在c ++中尝试这样的事情.

lap*_*apk 5

像这样,只需为将要重定向的库调用制作函数包装即可cout

int main( void )
{
 std::ofstream lStream( "garbage.txt" );
 std::streambuf* lBufferOld = std::cout.rdbuf();

 std::cout.rdbuf( lStream.rdbuf() );
 std::cout << "Calling library function" << std::endl;

 std::cout.rdbuf( lBufferOld );
 std::cout << "Normal output" << std::endl;

 std::cout.rdbuf( lStream.rdbuf() );
 std::cout << "Calling another library function" << std::endl;

 std::cout.rdbuf( lBufferOld );
 std::cout << "Another normal output" << std::endl;

 lStream.close();

 return ( 0 );
}
Run Code Online (Sandbox Code Playgroud)