创建备份文件描述符?

时间:2010-05-06 10:24:47

标签: c unix

  stdinBackup = 4;
  dup2(0, stdinBackup);

目前我正在执行上述'备份'标准输入,以便稍后将其重定向到其他位置后可以从备份恢复。我有一种感觉,我做错了很多? (例如,任意分配4肯定是不对的)。有人指出我正确的方向吗?

1 个答案:

答案 0 :(得分:4)

如果您只想制作一般副本供自己使用,则无需使用dup2()。只需使用普通的dup()

#include <stdio.h>

int stdinBackup = dup(STDIN_FILENO);

当您关心副本的实际值时,您只需要使用dup2()

有关符号常量STDIN_FILENO的定义,请参阅here,这比在代码中使用裸0要好得多。

相关问题