小弟我用freopen改变了stdin/stdout的行为,可以恢复它们的功能么

我用freopen改变了stdin/stdout的行为,可以恢复它们的功能么?如果我在程序里面:freopen(3295.in,r, st

我用freopen改变了stdin/stdout的行为,可以恢复它们的功能么?
如果我在程序里面:

  freopen("3295.in","r", stdin);  
  freopen("3295.out","w", stdout);  

我能否在后面再去恢复stdin/stdout为控制台的I/O而不再是文件I/O呢?

[解决办法]

C/C++ code
i = dup(0);o = dup(1);freopen("3295.in","r", stdin);   freopen("3295.out","w", stdout);dup2(i, 0);dup2(o, 1);