在我的应用程序中,我想将通常会转到 stdout 流的输出重定向到我定义的函数。我读到您 可以 将 stdio 重定向到文件,那么为什么不重定向到函数呢?
例如:
void MyHandler( const char* data );
//<<Magical redirection code>>
printf( "test" );
std::cout << "test" << std::endl;
//MyHandler should have been called with "test" twice, at this point
- 我怎样才能实现这种/类似的行为?
原文由 Charx 发布,翻译遵循 CC BY-SA 4.0 许可协议
另一种选择是将处理程序类调用放入继承的 streambuf 类中。我需要将 cout 重定向到可能有用的对话框中的 Win GUI 编辑控件。这是课程代码:
…在 WinMain 中,创建对话框及其编辑控件之后的某个位置: