繁体   English   中英

在C中重新打开stdin,stdout或stderr

[英]Reopening stdin, stdout or stderr in c

我看过这个问题

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

我的问题:

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

不,您提出的方法不是正确的方法。 /dev/tty “设备”是您的终端设备,它不一定包含您的标准输出。

例如,如果您以以下方式运行程序:

yourprog >output.txt

那么打开/dev/tty 不会得到您的起始标准输出(即output.txt文件)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM