当我看到这个问题时,这对我来说似乎很有趣:
cout.rdbuf(cerr.rdbuf());
是的,已成功将正常输出重定向到错误输出流。但这是噩梦,我想REVERSE
采取这种(愚蠢的)措施。但是cerr.rdbuf(cout.rdbuf());
在第一个命令运行后没有帮助。即输出流中没有变化。
如何用C ++完成?
((“ that”将normal output stream
重定向回自身(umm),并将其与error output stream
分开)
答案 0 :(得分:1)
http://www.cplusplus.com/reference/ios/ios/rdbuf/
streambuf * some_name = cout.rdbuf();
存储普通输出流的原始地址。
cout.rdbuf(some_name);
以恢复。
这也适用于其他类型的流。 (尽管它也适用于输入流,但没有理由这样做。)