【发布时间】:2025-12-02 01:25:01
【问题描述】:
当我看到这个问题时,这对我来说似乎有点好笑:
cout.rdbuf(cerr.rdbuf());
是的,成功地将正常输出重定向到错误输出流。但这是噩梦,我想REVERSE这个(愚蠢的)动作。但是cerr.rdbuf(cout.rdbuf()); 在第一个命令运行后没有帮助。即输出流没有变化。
如何在 C++ 中做到这一点?
("that" 将 normal output stream 重定向回自身 (umm) 并将其与 error output stream 分开)
【问题讨论】:
-
查一下。很容易找到。
-
对不起?这是什么意思?
-
通过
cout.rdbuf()获得的原始流缓冲区可以保存在一个变量中。是这个问题吗? -
意思是做一些研究。您可以从查找
std::basic_ostream::rdbuf()的功能开始。提示:我看到的第一个地方有一个可以构建的示例。 -
天啊,我刚刚尝试了你的方法@PeteBecker,我发现我的问题真的很愚蠢。哎呀,打扰了,大声笑。您关于 [查找
std::basic_ostream::rdbuf()的作用] 的建议非常有用。