从C重路由stdin和stdout
我想重新打开stdin和stdout(也许还有stderr)文件处理,以便将来调用printf()或putchar()或puts()将转到一个文件中,以后将调用getc()这将来自一个文件。
1)我不想永久地丢失标准输入/输出/错误。我可能想在以后的程序中重用它们。
2)我不想打开新的文件句柄,因为这些文件句柄要么必须大量传递,要么必须是全局的(颤抖)。
我不想用任何open()或fork()或者其他依赖于系统的函数,如果我帮不上忙的话。
所以基本上,这样做有效吗?
stdin = fopen("newin", "r");如果是的话,我如何才能得到stdin背?我要把它储存在FILE *晚点再拿回来?