我用freopen改变了stdin/stdout的行为,可以恢复它们的功能么?
如果我在程序里面:
freopen("3295.in","r", stdin);
freopen("3295.out","w", stdout);
我能否在后面再去恢复stdin/stdout为控制台的I/O而不再是文件I/O呢?
[解决办法]
i = dup(0);o = dup(1);freopen("3295.in","r", stdin); freopen("3295.out","w", stdout);dup2(i, 0);dup2(o, 1);