提问人: 提问时间:12/27/2018 更新时间:12/28/2018 访问量:124
如何反转CPP中的重定向输出操作?
How to reverse the redirecting output action in CPP?
问:
当我看到这个问题时,这对我来说似乎有点好笑:
cout.rdbuf(cerr.rdbuf());
是的,已成功将正常输出重定向到错误输出流。但这是噩梦,我想做这个(愚蠢的)动作。但在第一个命令运行后无济于事。即输出流没有变化。REVERSE
cerr.rdbuf(cout.rdbuf());
如何在 C++ 中做到这一点?
(“that”是将 back 重定向到自身 (um) 并将其与normal output stream
error output stream
)
答:
0赞
user6366151
12/28/2018
#1
http://www.cplusplus.com/reference/ios/ios/rdbuf/
streambuf * some_name = cout.rdbuf();
存储正常输出流的原始地址。
cout.rdbuf(some_name);
进行还原。
这也适用于其他类型的流。(尽管它也适用于输入流,但没有理由这样做。
评论
cout.rdbuf()
std::basic_ostream::rdbuf()
std::basic_ostream::rdbuf()
的作用]的建议非常有用。