如何重定向到标准输出?

时间:2009-05-25 21:45:27

标签: unix stdout redirect

我有一个用ansi C编写的UNIX应用程序,它直接将数据写入文件。此文件由其中一个参数参数指定。

出于测试目的,我可以使用/ dev / null作为文件名,这有效地将输出重定向为空。

我希望能够通过类似的方法将输出重定向到stdout。这可能吗?如果是这样,怎么样?我试过以下没有运气:

  

a.out -f / dev / ttys000

(其中/ dev / ttys000是'w'列表指定的tty)

2 个答案:

答案 0 :(得分:15)

/dev/stdout

答案 1 :(得分:2)

您可以检测字符串“stdout”参数,然后在C(1)中使用stdout文件句柄 http://en.wikipedia.org/wiki/File_descriptor

或者使用/ dev / stdout或/ dev / fd / 1

如果这是一个“内置”功能而不是用于测试的临时功能,您可能希望在stdout文件描述符而不是设备节点上使用C函数,因为C标准比POSIX标准imho。