首页 养生问答 疾病百科 养生资讯 女性养生 男性养生

一旦使用 freopen() 之后, 怎样才能恢复原来的 stdout (或 stdin)?

发布网友 发布时间:2022-04-26 07:06

我来回答

1个回答

热心网友 时间:2023-10-08 20:50

没有什么好办法。如果你需要恢复回去, 那么最好一开始就不要使用 freopen()。可以使用你自己的可以随意赋值的输出 (输入) 流变量, 而不要去动原来的输出 (或输入) 流。
有一种不可移植的办法, 可以在调用 freopen() 之前保存流的信息, 以便其后恢复原来的流。一种办法是使用系统相关的调用如 p(), p2() 等。另一种办法是复制或查看 FILE 结构的内容, 但是这种方法完全没有可移植性而且很不可靠。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com