我正在处理一些使用类型为
请问是否可以将它使用的全局
std::ofstream*
的全局调试记录器的代码。由于我正在实时使用代码,而不是设计用于批处理方法,因此我希望将其重定向到std::cout
。请问是否可以将它使用的全局
std::ofstream*
指针重定向到std::cout
?我知道std::ofstream
继承自std::ios
,允许使用rdbuf()
方法更改流缓冲区,但不幸的是,它似乎重新定义了rdbuf()
方法,这使得以下代码无法编译:gOsTrace = new std::ofstream();
gOsTrace->rdbuf(std::cout.rdbuf());
有没有其他方法可以将对象重定向指向?
std::ofstream*
吗?它不能使用更通用的std::ostream*
吗?然后,您只需要将此指针分配为新流即可。 - Martin Yorkstd::cin
会刷新std::cout
。 - chris