重新打开c中的stdin、stdout或stderr



我看过这个问题。

它说我们可以复制stdin和stdout的文件描述符,以便在程序的后期重新打开它们。

我的问题:

  • 我们可以在O_WRONLY模式下打开文件"/dev/tty"以重新打开stdout吗
  • 这是正确的方法吗
  • 有没有类似的方法可以重新打开stdin和stderr

不,您提出的方法不是正确的方法。/dev/tty"设备"是您的终端设备,它不一定能容纳标准输出。

例如,如果您将程序运行为:

yourprog >output.txt

那么打开CCD_ 2将而不是获得您的起始标准输出(即output.txt文件)。

最新更新