#include <stdio.h>
int main() {
printf("This goes to screen\n");
freopen("out.txt", "a", stdout);
printf("This goes to out.txt");
freopen("/dev/stdout", "a", stdout);
printf("This should go to screen too, but doesn't\n");
return 0;
}
我调用 freopen 将 stdout 重定向到 out.txt 然后我在文件上打印一些东西,现在我想将它重定向回屏幕,但是 freopen("/dev/stdout", "a", stdout); 不起作用。有没有办法使用 ANSI C 或 POSIX 系统调用来做到这一点?
最佳答案
我想不出一种跨平台的方式来做到这一点,但是在 GNU/Linux 系统上(也许还有其他 POSIX 兼容的系统)你可以 freopen ("/dev/tty ", "a", 标准输出)
。这是您想要做的吗?
关于c - 如何在 freopen ("out.txt", "a", stdout 之后将输出重定向回屏幕),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1908687/